------------------------------- PAO-FAQ ------------------------------- Tatsumi Hosokawa BSD-nomads Team, Japan hosokawa@jp.FreeBSD.org PAO is a comprehensive package for mobile-computing users of FreeBSD. PAO contains FreeBSD PC-card drivers, enhancements to the FreeBSD APM driver, and other miscellaneous utilities and daemons. PAO is based on Andrew McRae's early work on the FreeBSD PCMCIA driver, and Tatsumi Hosokawa's FreeBSD APM driver, and it is now developed and managed by the BSD-nomads team (bsd-nomads@clave.gr.jp), and Nate Williams reflects it to the original FreeBSD. TABLE OF CONTENTS -------------------------------------------------------- *New* New Q&A *Upd* Updated information 1. General Information * What does PAO stand for? *New* * What is the URL of PAO Homepage? *New* * How can I get the latest PAO? 2. Supported Hardware * What cards does PAO support? *Upd* * What laptops does PAO support? 3. APM BIOS * What does APM stand for? * This kernel hangs when I use APM BIOS. Why? * I can't use apm(8) and zzz(8). Why? * I can't use xbatt(1). Why? * The system clock loses time when the machine is sleeping, and never catches up to the current time when the machine comes back from suspended mode. Why? * My laptop sometimes hangs when the system is resumed from suspended mode. Why? 4. PC-card * A kernel boot message says that my card is not probed. Why? 4.1. PC-card Controller * Removing a card freezes the machine. How can I ward off this trouble? * I installed PAO on my machine, but the machine frequently reports that card is inserted or removed, even though no cards are installed in the machine. Why? * I installed PAO on my machine, but it does not report the insertion/removal of cards. Why? * When I insert cards, the system says only "CIS code read: Cannot allocate memory". Why? * My laptop says "Slot ?, unfielded interrupt (?)". Why? *Upd* * My laptop uses I/O address 0x240 for another device, but I can't change I/O address even though I modified corresponding device declarations in the config file. How can I change I/O ports? * My laptop uses IRQ 10 for another device, but I can't change the IRQ even though I modified the corresponding "device" declaration in the config file. How can I change the IRQ? 4.2. Ethernet *Upd* * How can I plug two network cards into a laptop and use it as a gateway? * My system fails to use NE-2000 compatible Ethernet cards, but the entries in /etc/pccard.conf seem to be correct. Why? * I can't use WaveLAN at all. Why? * My WaveLAN card is probed correctly, but I can't use it. 4.3. FAX/Modem * The kernel says that my modem is attached as "sio2", but there is no /dev/sio2. Why? * Failed to probe (or probed correctly, but the system is unstable) PCMCIA FAX/Modem cards (or other serial cards). Why? 4.4. Flash ATA/ATA HDD/ATAPI CD-ROM *New* * Why does the kernel fail to assign the disk, although the IDE interface is recognized? * How do I mount a Flash ATA card as a disk? *Upd* * How do I mount an ATAPI CD-ROM, or CD-R/RW? 4.5. SCSI *Upd* * How do I mount SCSI CD-ROM, HDD, or MO? * I want to use a portable CD-ROM drive, but it doesn't work. Why? 4.6. Video Capture * How/where can I get an IBM Smart Capture Card? * Are there any applications other than xscc for the IBM Smart Capture Card? 4.7. Multifunction Card * Are multifunction cards supported by PAO? 5. System Installation *Upd* * How can I install FreeBSD via one of the PC-cards PAO supports. *Upd* * How should I configure the variables in /etc/rc.conf? * I'm using an IBM ThinkPad 3xx series, and I want to install FreeBSD, but the FreeBSD keyboard driver can't handle the keyboard correctly, making it impossible to install FreeBSD. Why? * "Gated" does not work correctly on a system with PAO. Why? * I tried to change the IRQ and I/O address of PCMCIA cards by using UserConfig ("kernel -c"), but it has no effect. Why? *New* * Why does the designation of io port conflict between one in the kernel configuration and one in the config index in /etc/pccard.conf? -------------------------------------------------------------------------- 1. General Information ~~~~~~~~~~~~~~~~~~~~~~ * What does PAO stand for? PAO stands for nomads :-). * What is the URL of PAO Homepage? http://www.jp.freebsd.org/PAO/ * How can I get the latest PAO? PAO is maintained in the CVS repository on home.jp.FreeBSD.org. You can access using cvs with CVSROOT set appropriately if you have an account on home. More generally CVSup can be used. See http://www.FreeBSD.org/handbook/handbook273.html#cvsup for the detail of installation of cvsup. Configuration file should be written as follows *default host=cvsup.jp.FreeBSD.org *default base=/somewhere/you/want/to/put *default prefix=/somewhere/you/want/to/put *default release=cvs tag=pao228 *default delete use-rel-suffix *default compress # collections jp-pao-sys jp-pao-kit Release version as PAO-199xxxxx.tar.gz can be found at ftp://daemon.jp.freebsd.org/pub/FreeBSD-jp/PAO/ Snapshot as PAO-freebsd22x-xxxxxx-snap.tar.gz ftp://daemon.jp.freebsd.org/pub/FreeBSD-jp/PAO/snap/ PAO version of boot floppy boot-pao.flp can be found under ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-jp/I18N-flp/ according to the version of FreeBSD and supported language as ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-jp/I18N-flp/2.2.8-RELEASE/ja/ You can also get diffs between each revision by cvsweb. http://www.jp.freebsd.org/cgi/cvsweb.cgi/PAO/?cvsroot=freebsd-jp 2. Supported Hardware ~~~~~~~~~~~~~~~~~~~~~ * What cards does PAO support? Please read the file "SUPPORTED.CARDS" in the package. The latest version can be found at http://www.jp.freebsd.org/cgi/cvsweb.cgi/PAO/kit/ SUPPORTED.CARDS?cvsroot=freebsd-jp The latest version of card database /etc/pccard.conf is available from http://www.jp.freebsd.org/cgi/cvsweb.cgi/PAO/kit/release/etc/ pccard.conf.sample?cvsroot=freebsd-jp * What laptops does PAO support? PAO's APM driver supports APM BIOS 1.0, 1.1, and 1.2. APM BIOS implementations sometimes have many serious bugs. We're trying to cope with these bugs, but we gave up on supporting some broken APM BIOS'es. Some laptop vendors announced that they have updated their BIOS'es 'for Windows 95'. It probably means that 'they fixed bugs in the APM protected mode interface.' So, if the vendor of your laptop has announced newer BIOS'es, please update to the latest one before installing PAO. The PC-card driver of PAO supports following PC-card controllers: Intel i82365SL (and compatibles) Cirrus Logic PD-6710 Cirrus Logic PD-6720 Cirrus Logic PD-6722 Cirrus Logic PD-6729 (PCI-PCMCIA bridge) Cirrus Logic PD-6730 (PCI-PCMCIA bridge) IBM PCIC (on some ThinkPads) IBM KING O2micro OZ6729 (PCI-PCMCIA bridge) O2micro OZ6730 (PCI-PCMCIA bridge) Ricoh RF5C296 (i82365 compatible) Ricoh RF5C396 Vadem 468 Vadem 469 VLSI 82C146 PAO does not support following PC-card controllers. (If you have laptops with these controller, please write drivers for these controllers for PAO :-). Databook TCIC (on some ancient laptops) Some PCI-CardBus bridges can be used in i82365-compatible mode. Currently it is being tested on following chipsets: Cirrus Logic PD-6832 Texas Instruments PCI-1130 Texas Instruments PCI-1131 Texas Instruments PCI-1220 Texas Instruments PCI-1221 Texas Instruments PCI-1250 Toshiba ToPIC95 Toshiba ToPIC97 Ricoh RL5C465 Ricoh RL5C475 Ricoh RL5C476 Ricoh RL5C478 If your PC-card controller is not supported, please contact me (hosokawa@jp.FreeBSD.org) or BSD-nomads team (bsd-nomads@clave.gr.jp). I need following information to hack the chip: o The name of the PC-card controller of your machine. (e.g. Cirrus Logic 6832). o PCI device ID of PC-card controller (If your PC-card controller is PCI - PC-card bridge or PCI - CardBus bridge). 3. APM BIOS ~~~~~~~~~~~ * What does APM stand for? Microsoft and Intel's "Advanced Power Management". Please read http://www.intel.com/IAL/powermgm/powermgm.htm for details. * The kernel hangs when it uses APM BIOS. Why? Some implementations of protected mode APM BIOS have serious bugs. First, confirm that your laptop has the latest BIOS. These days, BIOS'es of many laptops have been updated to fix bugs in APM BIOS behavior in protected mode, now that Windows 95 uses it. If your machine's BIOS is not the latest one, please update it as soon as possible. If you're running the latest copy and are still having problems, you can "cope with" them by modifying the kernel source. If your problem is solved, please send us a report about your solution (and of course your environment). If you're not hacker, boot the kernel with UserConfig ("kernel -c") and type simply "disable apm0" :-). PAO's APM driver can be configured to cope with some incompatibilities of APM BIOSes from UserConfig. The apm0 device has a "flags" mask for this purpose (the problem corresponded to 0x01 -- APM data segment value -- has been fundamentally solved in the current version). 0x02: Some APM BIOS implementations that call themselves APM 1.1 have incomplete implementations of the APM 1.1 specification. This flags forces the APM driver to drive the APM BIOS in 1.0-compatibility mode, regardless of the version number the APM BIOS reports. * I can't use apm(8) and zzz(8). Why? apm(8) (zzz(8) is hard-linked shortcut of `apm -z') is a utility that controls your machine's power management features by making calls to its APM BIOS. The program uses the APM BIOS device file /dev/apm to control the APM functions. The permissions of /dev/apm are set to: crw-rw---- 1 root operator 39, 0 Jun 15 15:58 /dev/apm This means that /dev/apm is only accessible by users who are either in the `operator' group or are running as super user. If you want to use apm(8) (and zzz(8)) and you don't want to use su(1) for this purpose, put yourself in the `operator' group by editing /etc/group. * I can't use xbatt(1). Why? xbatt(1) is an X client that displays battery and AC line status under X-Windows. The xbatt(1) program found in the 2.1.5-RELEASE ports/packages collection does not work on current PAO systems, as it refers to the APM device file as /dev/apm0, while in later versions of FreeBSD the device is simply called /dev/apm. The Ad-hoc solution is: # cd /dev # ln -s apm apm0 * The system clock loses time when the machine is sleeping, and it never catches up to the current time when the machine comes back from suspended mode. Why? Perhaps you have forgotten to set the apm_enable variable in /etc/rc.conf to YES. :-). * My laptop sometimes hangs when the system is resumed from suspended mode. Why? Of course there several possible reasons. For example, I experienced the following problems: o The APM BIOS itself is instable :-). o Certain unsupported internal sound cards cause interrupts on the PC-card controller when the system is resumed. PAO determines the IRQ of PC-card controllers based on the IRQ allocation table in FreeBSD kernel. Therefore, unsupported sound cards can have the same IRQ which has been allocated for the PC-card controller. If you have such a machine, you can avoid this problem in one of the following ways: - Don't give up and try again to get FreeBSD to use the sound card :-). - Disable the sound card in the BIOS setup. Please note that if you do this, you won't be able to use the sound card from Windows, either. - Use the PCIC_IRQ option in config file. See the PAO config file for details. o Even if your sound card is supported by FreeBSD, you need to either configure sound driver in FreeBSD, or disable the sound card from BIOS setup, for of the same reasons. You shouldn't leave the sound card unused. 4. PC-card ~~~~~~~~~~ * A kernel boot message says that my card is not probed. Why? No problem. The kernel can't find your card without the pccardd daemon, and the card database stored in /etc/pccard.conf. PC-cards are not probed at boot time. PC-cards are found and registered by pccardd once the system is up. 4.1.PC-card Controller ~~~~~~~~~~~~~~~~~~~~~~ * Removing a card freezes the machine. How can I ward off this trouble? In the current release of PAO, hot removal of some particular serial cards (or on particular machines?) is still unstable. Use 'xpccard' (in utils/ subdirectory of this package) or the 'power' subcommand of 'pccardc', and hibernate the card first; you could remove these cards safely. * I installed PAO on my machine, but the machine frequently reports that a card has been inserted or removed, even though no cards are installed in the machine. Why? Your machine probably has built-in devices which were not probed and attached by FreeBSD (for example, an unsupported built-in sound card). If you can disable such devices from your BIOS setup screen, please disable them and try it again. If the problem does not happen again, it's an IRQ conflict between the PC-card controller and built-in unsupported devices that caused the trouble. We can explicitly specify the PC-card controller's IRQ with PCIC_IRQ option of config file, like, options "PCIC_IRQ=7" Please note that: 1. If you need to, you can disable printer parallel port from BIOS setup. This frees up IRQ 7 for use by another device. 2. If you can disable COM2 from your BIOS setup screen, you can free up IRQ 3. Generally, you can't use an external serial mouse if you disable COM2. 3. If you can disable COM1 from your BIOS setup screen, you can free up IRQ 4. 4. If your machine has no PS/2 mouse or PS/2-compatible trackball/trackpad, then IRQ 12 should be available for use as well. * I installed PAO on my machine, but it does not report the insertion/removal of cards. Why? Perhaps for the same reason as last question. Try using the PCIC_IRQ option. * When I insert cards, the system says only "CIS code read: Cannot allocate memory". Why? Perhaps you forgot to enable the "pccard_enable" parameter in /etc/rc.conf. * My laptop says "Slot ?, unfielded interrupt (?)". Why? No problem. Never mind :-). * My laptop uses I/O address 0x240 for another device, but I can't change the I/O address, even though I modified the corresponding device declarations in config file. How can I change I/O ports? The value of the I/O address in config file is a dummy value for PCMCIA cards. If the card is allocated I/O ports from the I/O pool, please modify the following line (corresponding to I/O pool definition) of /etc/pccard.conf: io 0x240-0x2e0 0x300-0x360 For example, modify it as io 0x300-0x360 ...and it won't use 0x240-0x2e0. If the card is allocated I/O ports according to its CIS tuples, change the config index number (see "config" declaration in /etc/pccard.conf) to different indices. For example, Ratoc REX-5588 Ethernet card has following tuples (dumped by "pccardc dumpcis"): -------------------------------------------------------------------------- Tuple #16, code = 0x1b (Configuration entry), length = 8 000: 08 08 ea 60 00 01 1f ff Config index = 0x8 Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x100 block length = 0x20 Tuple #17, code = 0x1b (Configuration entry), length = 8 000: 09 08 ea 60 20 01 1f ff Config index = 0x9 Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x120 block length = 0x20 Tuple #18, code = 0x1b (Configuration entry), length = 8 000: 0a 08 ea 60 40 01 1f ff Config index = 0xa Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x140 block length = 0x20 Tuple #19, code = 0x1b (Configuration entry), length = 8 000: 0b 08 ea 60 60 01 1f ff Config index = 0xb Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x160 block length = 0x20 Tuple #20, code = 0x1b (Configuration entry), length = 8 000: 0c 08 ea 60 80 01 1f ff Config index = 0xc Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x180 block length = 0x20 ..........repeats............ Tuple #39, code = 0x1b (Configuration entry), length = 8 000: 1f 08 ea 60 e0 03 1f ff Config index = 0x1f Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x3e0 block length = 0x20 -------------------------------------------------------------------------- This card entry specifies the I/O address explicitly. For example, if you use a config index of 0xc, I/O address 0x180 is used. If you want to use 0x3e0 as I/O address, you must specify 0x1f as the config index. I'm planning to extend pccardd to handle such cards automatically, but for now you must specify the config index manually. * My laptop uses IRQ 10 for another device, but I can't change the IRQ even though I modified corresponding "device" declaration in config file. How can I change IRQ? If the corresponding entries in /etc/pccard.conf specify the IRQ explicitly, you should modify that value. For example, card "PCMCIA LAN MBH10304 ES" " 01" config 0x1a "fe0" 5 ether 0x32c 00:c0:d0 uses IRQ 5 explicitly. If you want to use IRQ 7 for this card, modify the config declaration as config 0x1a "fe0" 7 If the entry uses dynamic IRQ allocation ("any" for IRQ), the IRQ is allocated from the free IRQ pool. Although the free IRQ pool is obtained from the kernel as unused IRQ, those irq used by devices that the kernel does not know, such as irq 5 for a sound card are recognized as unused. In that case the unrecognized irq should be excluded from the IRQ pool using "ignirq" directive. If you want to exclude irq 5 ignirq 5 Although it is not recommended, the old style can also be used. Give -I flag to pccardd (add pccardd_flags="-I" in /etc/rc.conf), and enable the following line in /etc/pccard.conf irq 10 11 4.2. Ethernet ~~~~~~~~~~~~~ * How can I plug two network cards into a laptop and use it as a gateway? If you want to use two network cards corresponding to different drivers (for example, an Ethernet card and a Modem card, or an IBM Ethernet card and 3Com Ethernet card), no special configuration is needed. If you want to use two cards of the same type (for example, two IBM Ethernet cards), or two different cards types corresponding that use the same drivers (for example, an IBM Ethernet card and an Accton Ethernet card), you need to modify /etc/pccard.conf. (example 1) two IBM PCMCIA Ethernet cards: First, you need to configure both "ed0" and "ed1". By default, PAO configuration file defines "ed1" as being in the "disabled" state. It does not matter if it is disabled. Next, you must define the "config" line in /etc/pccard.conf for the second IBM card. A "card" definition can have more than two "config" lines. For example, if you configure your IBM card as: card "IBM Corp\." "Ethernet" config default "ed0" any config default "ed1" any ether 0xff0 08:00:5a 00:04:ac insert echo IBM PCMCIA Ethernet inserted insert /etc/pccard_ether $device remove echo IBM PCMCIA Ethernet removed remove /etc/pccard_ether_remove $device ...you can use two IBM cards. Resources are allocated without conflicts automatically. If you want to use a card that specifies a config index and IRQ explicitly (i.e. not by "default" or "any" keyword), you must manually choose another index or IRQ that does not conflict with the other one. (example 2) IBM Ethernet card and Accton Ethernet card You must configure one card as "ed0" and the other as "ed1". Following example uses IBM card as "ed0" and Accton card as "ed1". card "IBM Corp\." "Ethernet" config default "ed0" any ether 0xff0 08:00:5a 00:04:ac insert echo IBM PCMCIA Ethernet inserted insert /etc/pccard_ether $device remove echo IBM PCMCIA Ethernet removed remove /etc/pccard_ether_remove $device card "ACCTON" "EN2212" config default "ed1" any 0x30 ether 0xff0 00:00:e8 insert echo Accton EN2212 inserted insert /etc/pccard_ether $device remove echo Accton EN2212 removed remove /etc/pccard_ether_remove $device If the card uses an explicit config index specification, the same problem as "example 1" may occur. We're trying to solve the problems related to explicit config index specification. Please watch for future releases of PAO, which will have improved config specification handling. * My system fails to use NE-2000 compatible Ethernet cards, but the entries in /etc/pccard.conf seem to be correct. Why? Some NE-2000 compatible Ethernet card have weird CIS tuples regarding the description of the shared memory address (Accton EN-2212, etc.). Please add flags 0x10 to the corresponding entry of /etc/pccard.conf. It disables the use of shared memory, and forces the driver to work in programmed I/O mode. card "PCMCIA" "UE2212" config default "ed0" any 0x10 ether 0xff0 00:00:e8 * I can't use WaveLAN at all. Why? The WaveLAN driver is provided for 2.2 only. If you're using 2.1.5-RELEASE, you can't use WaveLAN. Even if you're using 2.2, you must specify -DWAVELAN as the argument of cc when you compile pccardd. Please read the Makefile for pccardd for details. * My WaveLAN card is probed correctly, but I can't use it. You need to initialize the WaveLAN card from the DOS configuration utility before using it. Particularly, you need to set the same NetID on all WaveLAN cards (and of course WavePoint) that you want to communicate with. And, please note that the roaming protocol is not supported yet. The PAO package before PAO-960911 had a problem with the Japanese version of WaveLAN. The Japanese version uses the 2.4GHz band instead of the 915MHz band that the US version uses. This bug is fixed on the current version. 4.3. FAX/Modem ~~~~~~~~~~~~~~ * The kernel says that my modem is attached as "sio2", but there is no /dev/sio2. Why? Use /dev/ttyd2 or /dev/cuaa2 instead (the same as for desktops). * Failed to probe (or probed correctly, but the system is unstable) PCMCIA FAX/Modem cards (or other serial cards). Why? Please read the "function serial" definition in /etc/pccard.conf and try alternative definitions. 4.4. Flash ATA/ATA HDD/ATAPI CD-ROM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Why does the kernel fail to assign the disk, although the IDE interface is recognized? The io port designated by the config index of the card and the kernel configuration must be the same. If the CIS tuple reads as follows ---- Tuple #7, code = 0x1b (Configuration entry), length = 7 000: 01 08 ca 60 00 03 1f Config index = 0x1 Card decodes 10 address lines, limited 8/16 Bit I/O I/O address # 1: block start = 0x240 block length = 0x10 ---- in the entry of /etc/pccard.conf you state config 0x1 "wdc2" any In this case, the kernel should be recompiled with the configuration for the wdc2 as follows controller wdc2 at isa? disable port "0x240" vector wdintr disk wd2 at wdc2 drive 0 In case there is no appropriate io address in the CIS tuple or not clearly designated, some card will work if specified with cardio. * How do I mount a Flash ATA card as a disk? I think that most popular purpose of Flash ATA disk for FreeBSD laptop user is to share files between FreeBSD machine and MS-DOS palmtops like the HP-200LX. For example, MS-DOS filesystem of HP-200LX are usually placed at the first fdisk partition of the Flash ATA disk. So, if you mount this partition (this example assumes the Flash ATA disk controller was attached as "wdc1", and the Flash ATA disk is attached as "wd1", as defined in the PAO config file and pccard.conf.sample), type # mount -t msdos /dev/wd1s1 /mnt If you want to do it more easily, make the directory /flash for this purpose, and add a line like /dev/wd1s1 /flash msdos rw,noauto 0 0 to your /etc/fstab (don't forget to add "noauto" option). You can mount this partition by simply typing # mount /flash Don't forget to umount filesystem before removing the cards. If you have a digital still camera that support Flash ATA cards, you can read image data captured by these cameras. Particularly if the camera supports MS-DOS formatted Flash ATA disks or ATA HDDs, you can view captured images, as long as the image file format is supported by the graphic viewer on FreeBSD. For example the Ricoh DC-2 writes *.j6i and *.j6s files in the MS-DOS root directory in the first fdisk slice of Flash ATA cards. The manual says that *.j6i format is "based on JPEG compression", but, in fact, if you truncate the first 172 bytes from *.j6i format, the remainder is standard JPEG format. For example, when the name of j6i file is "/flash/r010001.j6i", you can view this image with xv by, % dd if=/flash/r010001.j6i of=foo.jpg skip=1 bs=172 % xv foo.jpg Please note that you need to adjust the aspect ratio. You can do that with the cjpeg/djpeg and netpbm package, among others. * How do I mount an ATAPI CD-ROM? It's the same as for desktops: # mount -t cd9660 /dev/wcd0c /cdrom CD-ROM changer is supported by acd devices, in FreeBSD 2.2.8R. Enable acd instead of wcd in the kernel configuration as following, and MAKEDEV /dev/acd?. # Use either the acd or the wcd device, not both! #device wcd0 #IDE CD-ROM device acd0 #IDE CD-ROM & CD-R/RW If you are using this kernel, mount CD-ROM as following # mount -t cd9660 /dev/acd0c /cd0 # mount -t cd9660 /dev/acd1c /cd1 # ... If you add this line /dev/wcd0c /cdrom cd9660 rw,noauto 0 0 or /dev/acd0c /cdrom cd9660 rw,noauto 0 0 to /etc/fstab, you can mount your ATAPI CD-ROM by simply typing # mount /cdrom Please don't forget to umount the filesystem before removing the card. 4.5. SCSI ~~~~~~~~~ * How do I mount a SCSI CD-ROM, HDD, or MO? Again, it's the same as desktops: # mount -t cd9660 /dev/cd0a /cdrom ; CD-ROM # mount -t ufs /dev/sd0s1e /u2 ; HDD ufs # mount -t msdos /dev/sd0s2 /dos ; HDD msdos # mount -t ufs /dev/od0c /u3 ; MO ufs # mount -t msdos /dev/od0 /mo ; MO msdos If you add this line /dev/cd0a /cdrom cd9660 rw,noauto 0 0 to /etc/fstab, you can mount your SCSI CD-ROM by simply typing # mount /cdrom Please don't forget to umount filesystem before removing the cards. * I want to use a portable CD-ROM drive, but it doesn't work. Why? Some portable CD-ROM drives uses non-standard device drivers under Windows. I think these non-standard drivers control the power for the drives. Some of these drives can't be probed when the SCSI PC-card is plugged into the host. I heard that this problem doesn't happen if you turn on the power of the CD-ROM drive manually right after you plug the card into the host. 4.6. Video Capture ~~~~~~~~~~~~~~~~~~ * How/where can I get an IBM Smart Capture Card? I heard that this card is available in Japan (and Europe?) only. Ask IBM in your country for details. * Are there any other applications than xscc for the IBM Smart Capture Card? xfscc - SCC client with xforms interface sccat - snapshot capturing tool NV - video conference application VIC - video conference application Please read "SCC on FreeBSD/Linux" page for details. The URL of this page is "http://www.mickey.ai.kyutech.ac.jp/~ohashi/scc/index.html". 4.7. Multifunction Card ~~~~~~~~~~~~~~~~~~~~~~~ * Are multifunction cards supported by PAO? No. But I'm modifying pccardd and the kernel to use multifunction cards (I'm using Megahertz XJEM1144 Ethernet/Modem card as a testbed). 5. System Installation ~~~~~~~~~~~~~~~~~~~~~~ * How can I install FreeBSD via PC-cards that PAO supports. I'm also involved in the multilingual boot.flp project (it currently supports English, Japanese, and Chinese). This boot.flp also supports PAO, and you can install PAO via an PC card. Once the PC card is recognized appropriately, you can thereafter ordinarily install using CD-ROM, networks and so on. Take care to select at least the kernel source code (ssys) After the installation, reboot, login as root, and type # /stand/sysinstall select Configuration -> PC CARD This procedure will install PAO kernel, which is necessary to use a PC card, as the kernel is GENERIC one just after the installation. if you've installed FreeBSD with this floppy. This floppy is available at, ftp://ryukyu.mt.cs.keio.ac.jp/pub/FreeBSD/bootasia-PAO/ ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-jp/I18N-flp/ * How do I configure the variables in /etc/rc.conf? There are new functions in PAO for FreeBSD 2.2.8R, which is described after 9., and /etc/pccard_ether was changed at the same time. 1. apm_enable If this variable set to YES, you can use /dev/apm application interface, and kernel can handle APM events (default: NO). 2. pccard_enable If this variable set to YES, PC-card manager daemon starts at bootstrap (default: NO). 3. pccard_mem If you want to use scratch memory for the PCIC other than DEFAULT (0xd0000), set this variable explicitly (default: DEFAULT). 4. pccard_beep If pccard_beep is set to 0, insertion and removal of PC-cards is set to silent mode. If it is set to 1 or 2, the machine beeps when the card is inserted or removed. 1 and 2 correspond to a simple beep mode and melody mode respectively (default: 2). 5. pccard_ether List all ethernet interfaces configured in your kernel. For example, if you use PAO as the config file, appropriate value of this variable is pccard_ether="ed0 ep0 fe0 sn0" (default: NO). 6. ifconfig_"interface name" Set arguments for ifconfig corresponding to all interfaces listed in "pccard_ether". If this variable is set to "DHCP", DHCP (Dynamic Host Configuration Protocol) clients are automatically executed for corresponding interface. If you want to use "DHCP", you must install WIDE-DHCP package in ports/packages collection and configure BPF (Berkeley Packet Filter) in your kernel (PAO config file has this definition). And, don't forget to MAKEDEV bpf? devices. (example 1) pccard_ether="ed0 ep0 fe0 sn0" ifconfig_common="10.0.0.1 netmask 0xffffff00" ifconfig_ed0=$ifconfig_common ifconfig_ep0=$ifconfig_common ifconfig_fe0=$ifconfig_common ifconfig_sn0=$ifconfig_common (example 2) pccard_ether="ed0 nep0 fe0 sn0" ifconfig_common="DHCP" ifconfig_ed0=$ifconfig_common ifconfig_ep0=$ifconfig_common ifconfig_fe0=$ifconfig_common ifconfig_sn0=$ifconfig_common 7. defaultrouter If you set this variable, the default router is automatically registered into the routing table when you insert the card, and automatically deleted from the routing table when you removed the card. This variable is ignored when the ifconfig parameter of corresponding interface is set to "DHCP". (default: NO) 8. dhcp_flags Set "-r" option if you are to use WIDE-DHCP and wants to change /etc/resolv.conf automatically. Set "-n" option if you want to change the hostname automatically. 9. ifconfig_"interface name"_alias Define argument to the alias corresponding to the interface name. You may specify more than one alias. If ifconfig_"interface name" is set to "DHCP" this variable is ignored. ifconfig_common_alias0="10.0.0.101 netmask 0xffffffff" ifconfig_ed0_alias0=$ifconfig_common_alias0 ifconfig_ep0_alias0=$ifconfig_common_alias0 ifconfig_fe0_alias0=$ifconfig_common_alias0 ifconfig_sn0_alias0=$ifconfig_common_alias0 10. static_routes_"interface name" Define the list of static routes per interface. The argument to the route command should be written in route_ If the ifconfig_"interface name" is set to "DHCP" this variable is ignored. static_routes_common="name0 ..." static_routes_ed0=$static_routes_common static_routes_ep0=$static_routes_common static_routes_fe0=$static_routes_common static_routes_sn0=$static_routes_common route_name0="-net 192.168.0 10.0.0.2" route_name1=... 11. route_flush Set "NO" if you want to use the machine as gateway using two or more PCMCIA Ethernet cards. In that case set static_routes and defaultrouter as empty. If static routing is required use static_routes_"interface name" instead of static routes or defaultrouter. If route_flush is set to "YES", all the route will be deleted when a card is removed. * I'm using an IBM ThinkPad 3xx series and I want to install FreeBSD, but the FreeBSD keyboard driver can't handle keyboard correctly, so I can't install FreeBSD. Why? That's because these machines use XT-compatible keyboards. The old version of PAO has a patch to configure this feature from UserConfig, but this patch has been incorporated to FreeBSD since 2.2-ALPHA. Boot from the installation floppy with the UserConfig ("kernel -c") option and type flags sc0 0x10 at the UserConfig prompt. This enables the XT-compatible keyboard mode of syscons driver. * "Gated" does not work on PAO system. Why? That's because gated does not support "dynamic interface emergence" that PAO provides. In other words, gated cannot handle it when new devices "appear" after it has started. * I tried to change the IRQ and I/O address of my PCMCIA cards by using UserConfig ("kernel -c"), but it has no effect. Why? UserConfig ("kernel -c") and arguments of "device" and "controller" definitions in the config file (except the definitions of "xxxintr") have no effect on PCMCIA cards. Edit /etc/pccard.conf to modify these parameters, * Why does the designation of io port conflict between one in the kernel configuration and one in the config index in /etc/pccard.conf? There is no relation between the address of config index specified in pccard.conf and the io port such as IO_COM3 you specify when you make the kernel. PAO will override the address specified in the kernel configuration. Therefore you do not have to write after "at" as following, device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr device sio2 device sio3 Actually I am using a kernel made that way. (Only the space in the kernel is required.) There is no difference between sio2 and 3 except for the number of the unit. The config index solely determines the address. $Id: PAO-FAQ,v 1.1.1.1.10.2 1999/03/31 15:07:44 toshi Exp $