diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2001-03-09 20:33:35 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2001-03-09 20:33:35 +0000 |
commit | 116674acc97ba75a720329996877077d988443a2 (patch) | |
tree | 6a3f2ff0b612ae2ee8a3f3509370c9e6333a53b3 /Documentation | |
parent | 71118c319fcae4a138f16e35b4f7e0a6d53ce2ca (diff) |
Merge with Linux 2.4.2.
Diffstat (limited to 'Documentation')
43 files changed, 1297 insertions, 485 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index a7bca2f14..c80f31ed9 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX @@ -1,8 +1,8 @@ + This is a brief list of all the files in ./linux/Documentation and what they contain. If you add a documentation file, please list it here in alphabetical order as well, or risk being hunted down like a rabid dog. -Note that subdirectories have their own index files too. Please try and -keep the descriptions small enough to fit on one line. +Please try and keep the descriptions small enough to fit on one line. Thanks -- Paul G. 00-INDEX @@ -15,28 +15,40 @@ CodingStyle - how the boss likes the C code in the kernel to look. Configure.help - text file that is used for help when you run "make config" -IO-APIC.txt - - info on using the enhanced interrupt hardware on SMP boards. +DMA-mapping.txt + - info for PCI drivers using DMA portably across all platforms. +DocBook/ + - directory with DocBook templates etc. for kernel documentation. IO-mapping.txt - how to access I/O mapped memory from within device drivers. +IRQ-affinity.txt + - how to select which CPU(s) handle which interrupt events on SMP. +LVM-HOWTO + - info on setting up logical volume management (virtual disks etc.) README.DAC960 - info on Mylex DAC960/DAC1100 PCI RAID Controller Driver for Linux +README.moxa + - release notes for Moxa mutiport serial card. +SubmittingDrivers + - procedure to get a new driver source included into the kernel tree. +SubmittingPatches + - procedure to get a source patch included into the kernel tree. VGA-softcursor.txt - how to change your VGA cursor from a blinking underscore. arm/ - directory with info about Linux on the ARM architecture. -atm.txt - - info on Linux ATM support binfmt_misc.txt - info on the kernel support for extra binary formats. +cachetlb.txt + - describes the cache/TLB flushing interfaces Linux uses. +cciss.txt + - info, major/minor #'s for Compaq's SMART Array Controllers. cdrom/ - directory with information on the CD-ROM drivers that Linux has. computone.txt - info on Computone Intelliport II/Plus Multiport Serial Driver cpqarray.txt - info on using Compaq's SMART2 Intelligent Disk Array Controllers. -devices.tex - - LaTeX source listing of all the nodes in /dev/ with major minor #'s devices.txt - plain ASCII listing of all the nodes in /dev/ with major minor #'s digiboard.txt @@ -51,12 +63,20 @@ fb/ - directory with info on the frame buffer graphics abstraction layer. filesystems/ - directory with info on the various filesystems that Linux supports. +floppy.txt + - notes and driver options for the floppy disk driver. ftape.txt - notes about the floppy tape device driver hayes-esp.txt - info on using the Hayes ESP serial driver. +highuid.txt + - notes on the change from 16 bit to 32 bit user/group IDs. +i2c/ + - directory with info about the I2C bus/protocol (2 wire, kHz speed) i386/ - - directory with info about Linux on the intel ix86 architecture. + - directory with info about Linux on intel 32 bit architecture. +ia64/ + - directory with info about Linux on intel 64 bit architecture. ide.txt - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS) initrd.txt @@ -77,6 +97,8 @@ joystick.txt - info on using joystick devices (and driver) with Linux. kbuild/ - directory with info about the kernel build process +kernel-doc-nano-HOWTO.txt + - mini HowTo on generation and location of kernel documentation files. kernel-docs.txt - listing of various WWW + books that document kernel internals. kernel-parameters.txt @@ -101,10 +123,14 @@ md.txt - info on boot arguments for the multiple devices driver memory.txt - info on typical Linux memory problems. +mkdev.cciss + - script to make /dev entries for SMART controllers (see cciss.txt) mkdev.ida - script to make /dev entries for Intelligent Disk Array Controllers. modules.txt - short guide on how to make kernel parts into loadable modules +moxa-smartio + - info on installing/using Moxa multiport serial driver. mtrr.txt - how to use PPro Memory Type Range Registers to increase performance nbd.txt @@ -119,8 +145,12 @@ oops-tracing.txt - how to decode those nasty internal kernel error dump messages. paride.txt - information about the parallel port IDE subsystem. +parisc/ + - directory with info on using Linux on PA-RISC architecture. parport.txt - how to use the parallel-port driver. +parport-lowlevel.txt + - description and usage of the low level parallel port functions. pci.txt - info on the PCI subsystem for device driver authors pcwd-watchdog.txt @@ -129,14 +159,14 @@ pm.txt - info on Linux power management support powerpc/ - directory with info on using Linux with the PowerPC. -proc_usb_info.txt - - info on /proc/bus/usb direcory generated for USB devices ramdisk.txt - short guide on how to set up and use the RAM disk. riscom8.txt - notes on using the RISCom/8 multi-port serial driver. rtc.txt - notes on how to use the Real Time Clock (aka CMOS clock) driver. +s390/ + - directory with info on using Linux on the IBM S390. scsi-generic.txt - info on the sg driver for generic (non-disk/CD/tape) SCSI devices. scsi.txt @@ -153,6 +183,8 @@ smp.txt - a few more notes on symmetric multi-processing sound/ - directory with info on sound card support +sparc/ + - directory with info on using Linux on Sparc architecture. specialix.txt - info on hardware/driver for specialix IO8+ multiport serial card. spinlocks.txt @@ -167,8 +199,12 @@ sysctl/ - directory with info on the /proc/sys/* files sysrq.txt - info on the magic SysRq key +telephony/ + - directory with info on telephony (e.g. voice over IP) support. unicode.txt - info on the Unicode character/font mapping used in Linux. +usb/ + - directory with info regarding the Universal Serial Bus. video4linux/ - directory with info regarding video/TV/radio cards and linux. vm/ @@ -177,4 +213,6 @@ watchdog.txt - how to auto-reboot Linux if it has "fallen and can't get up". ;-) xterm-linux.xpm - XPM image of penguin logo (see logo.txt) sitting on an xterm. +zorro.txt + - info on writing drivers for Zorro bus devices found on Amigas. diff --git a/Documentation/Changes b/Documentation/Changes index 0b2f66e6f..f11549a71 100644 --- a/Documentation/Changes +++ b/Documentation/Changes @@ -31,7 +31,7 @@ al espaņol de este documento en varios formatos. Eine deutsche Version dieser Datei finden Sie unter <http://www.stefan-winter.de/Changes-2.4.0.txt>. -Last updated: December 11, 2000 +Last updated: January 11, 2001 Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu). @@ -52,8 +52,9 @@ o Gnu C 2.91.66 # gcc --version o Gnu make 3.77 # make --version o binutils 2.9.1.0.25 # ld -v o util-linux 2.10o # fdformat --version -o modutils 2.4.0 # insmod -V -o e2fsprogs 1.19 # tune2fs --version +o modutils 2.4.2 # insmod -V +o e2fsprogs 1.19 # tune2fs +o reiserfsprogs 3.x.0b # reiserfsck 2>&1|grep reiserfsprogs o pcmcia-cs 3.1.21 # cardmgr -V o PPP 2.4.0 # pppd --version o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version @@ -99,11 +100,11 @@ assembling the 16-bit boot code, removing the need for as86 to compile your kernel. This change does, however, mean that you need a recent release of binutils. -If you can, upgrade to the latest 2.9.5 binutils release. Older +If you can, upgrade to the latest 2.9.5 or 2.10 binutils release. Older releases such as 2.8, 2.8.xx, and the FSF's 2.9.1 should be avoided if at all possible. The later releases of 2.9.1.0.x (anything where x >= 22) -can and do compile the kernel properly, but there are many benefits -to upgrading to 2.9.5 if you're up to it. +can and do compile the kernel properly, but there are many benefits in +upgrading to 2.9.5 or 2.10 if you're up to it. System utils ============ @@ -114,20 +115,6 @@ Architectural changes DevFS is now in the kernel. See Documentation/filesystems/devfs/* in the kernel source tree for all the gory details. -System V shared memory is now implemented via a virtual filesystem. -You do not have to mount it to use it. SYSV shared memory limits are -set via /proc/sys/kernel/shm{max,all,mni}. You should mount the -filesystem under /dev/shm to be able to use POSIX shared -memory. Adding the following line to /etc/fstab should take care of -things: - -none /dev/shm shm defaults 0 0 - -Remember to create the directory that you intend to mount shm on if -necessary (The entry is automagically created if you use devfs). You -can set limits for the number of blocks and inodes used by the -filesystem with the mount options nr_blocks and nr_inodes. - The Logical Volume Manager (LVM) is now in the kernel. If you want to use this, you'll need to install the necessary LVM toolset. @@ -178,6 +165,14 @@ E2fsprogs The latest version of e2fsprogs fixes several bugs in fsck and debugfs. Obviously, it's a good idea to upgrade. +Reiserfsprogs +------------- + +The reiserfsprogs package should be used for reiserfs-3.6.x +(Linux kernels 2.4.x). It is a combined package and contains working +versions of mkreiserfs, resize_reiserfs, debugreiserfs and +reiserfsck. These utils work on both i386 and alpha platforms. + Pcmcia-cs --------- @@ -206,6 +201,14 @@ alias char-major-10-184 microcode to your /etc/modules.conf file. +Powertweak +---------- + +If you are running v0.1.17 or earlier, you should upgrade to +version v0.99.0 or higher. Running old versions may cause problems +with programs using shared memory. + + Networking ========== @@ -262,10 +265,19 @@ Compilers ********* egcs 1.1.2 (gcc 2.91.66) ---------- -o <ftp://ftp.valinux.com/pub/support/hjl/gcc/egcs-1.1.2/egcs-1.1.2-glibc.x86.tar.bz2> -o <ftp://ftp.valinux.com/pub/support/hjl/gcc/egcs-1.1.2/egcs-1.1.2-libc5.x86.tar.bz2> -o <ftp://ftp.valinux.com/pub/support/hjl/gcc/egcs-1.1.2/egcs-1.1.2-alpha.tar.bz2> +------------------------ +o <ftp://sourceware.cygnus.com/pub/gcc/releases/egcs-1.1.2/egcs-1.1.2.tar.bz2> + +gcc 2.95.2 +---------- +o <ftp://ftp.gnu.org/pub/gnu/gcc/gcc-2.95.2.tar.gz> + +Gnu Make +******** + +Make 3.77 +-------- +o <ftp://ftp.gnu.org/gnu/make/make-3.77.tar.gz> Binutils ******** @@ -274,20 +286,20 @@ Binutils ------------ o <ftp://ftp.valinux.com/pub/support/hjl/binutils/2.9.1/binutils-2.9.1.0.25.tar.gz> -2.10 series ------------- -o <ftp://ftp.valinux.com/pub/support/hjl/binutils/binutils-2.10.0.24.tar.bz2> +2.9.5 and 2.10 series +--------------------- +o <ftp://ftp.valinux.com/pub/support/hjl/binutils/> System utilities **************** Util-linux ---------- -o <ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/util-linux-2.10o.tar.gz> +o <ftp://ftp.kernel.org/pub/linux/utils/util-linux/util-linux-2.10o.tar.gz> Ksymoops -------- -o <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4> +o <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/> Modutils -------- @@ -295,13 +307,17 @@ o <ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.4/> Mkinitrd -------- -o <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/mkinitrd-2.5-1.src.rpm> +o <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/mkinitrd-2.9-1.src.rpm> E2fsprogs --------- o <ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/e2fsprogs-1.19.tar.gz> o <ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/e2fsprogs-1.19.src.rpm> +Reiserfsprogs +------------- +o <ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfs_utils-3.6.25-fsck-3.x.0b.tar.gz> + LVM toolset ----------- o <http://linux.msede.com/lvm/> @@ -322,6 +338,10 @@ Intel P6 microcode ------------------ o <http://www.urbanmyth.org/microcode/> +Powertweak +---------- +o <http://powertweak.sourceforge.net> + Network ******* @@ -331,7 +351,7 @@ o <ftp://linuxcare.com.au/pub/ppp/ppp-2.4.0.tar.gz> Isdn4k-utils ------------ -o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/testing/isdn4k-utils.v3.1beta7.tar.gz> +o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz> Netfilter --------- diff --git a/Documentation/Configure.help b/Documentation/Configure.help index 5d358eaea..0f39d413e 100644 --- a/Documentation/Configure.help +++ b/Documentation/Configure.help @@ -1,7 +1,7 @@ # Maintained by Axel Boldt (axel@uni-paderborn.de) # # This version of the Linux kernel configuration help texts -# corresponds to the kernel versions 2.3.x. +# corresponds to the kernel versions 2.4.x. # # Translations of this file available on the WWW: # @@ -2589,7 +2589,7 @@ CONFIG_I2O inserted in and removed from the running kernel whenever you want). If you want to compile it as a module, say M here and read Documentation/modules.txt. You will get modules called i2o_core.o - and i20_config.o. + and i2o_config.o. If unsure, say N. @@ -3121,7 +3121,7 @@ CONFIG_FB_3DFX nVidia Riva support (EXPERIMENTAL) CONFIG_FB_RIVA - This driver supports graphics boards with the nVidia Riva (aka TNTx) + This driver supports graphics boards with the nVidia Riva/Geforce chips. Say Y if you have such a graphics board. @@ -5136,7 +5136,7 @@ CONFIG_PHONE Compaq Smart Array support CONFIG_BLK_CPQ_CISS_DA - This is the driver for Compaq Smart Array controllers. + This is the driver for Compaq Smart Array 5xxx controllers. Everyone using these boards should say Y here. See Documentation/cciss.txt for the current list of boards supported by this driver, and for further information @@ -10378,14 +10378,12 @@ CONFIG_USB_ACM USB Serial converter support CONFIG_USB_SERIAL Say Y here if you have a USB device that provides normal serial - ports, and you want to connect it to your USB bus. Supported devices - are the Tech WhiteHEAT multi-port USB to serial converter, and the - FTDI or Keyspan single port USB to serial converter Handspring - Visor. In addition to saying Y here, you need to say Y to the driver - for your specific hardware below. Some other devices may also be - used if you say Y to "USB Generic Serial Driver", below. - - Please read Documentation/usb/usb-serial.txt for more information. + ports, or acts like a serial device, and you want to connect it to + your USB bus. + + Please read Documentation/usb/usb-serial.txt for more information + on the specifics of the different devices that are supported, and + on how to use them. This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). @@ -10491,6 +10489,10 @@ USB Keyspan USA-19W Firmware CONFIG_USB_SERIAL_KEYSPAN_USA19W Say Y here to include firmware for the USA-19W converter. +USB Keyspan USA-49W Firmware +CONFIG_USB_SERIAL_KEYSPAN_USA49W + Say Y here to include firmware for the USA-49W converter. + USB ZyXEL omni.net LCD Plus Driver CONFIG_USB_SERIAL_OMNINET Say Y here if you want to use a ZyXEL omni.net LCD ISDN TA. @@ -10531,6 +10533,9 @@ USB MCT Single Port Serial Driver CONFIG_USB_SERIAL_MCT_U232 Say Y here if you want to use a USB Serial single port adapter from Magic Control Technology Corp. (U232 is one of the model numbers). + + This driver also works with Sitecom U232-P25 and D-Link DU-H3SP USB + BAY devices. This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). @@ -10540,7 +10545,7 @@ CONFIG_USB_SERIAL_MCT_U232 USB Serial Converter verbose debug CONFIG_USB_SERIAL_DEBUG Say Y here if you want verbose debug messages from the USB Serial - Converter. + Drivers sent to the kernel debug log. USB Printer support CONFIG_USB_PRINTER @@ -10815,11 +10820,10 @@ CONFIG_REISERFS_FS Balanced trees are more efficient than traditional filesystem architectural foundations. - You can use reiserfs in all cases where you use the ext2fs file - system, and you will gain in speed and disk space. It has fewer - worst case performance situations than other file systems - because balanced trees are hardier creatures than other algorithms - are (if that is not technical enough, read www.namesys.com....:-) ) + In general, ReiserFS is as fast as ext2, but is very efficient + with large directories and small files. Additional patches are + needed for NFS and quotas, please see www.reiserfs.org for + links. It is more easily extended to have features currently found in database and keyword search systems than block allocation based @@ -10827,7 +10831,7 @@ CONFIG_REISERFS_FS support plugins consistent with our motto ``It takes more than a license to make source code open.'' - Read www.namesys.com to learn more about reiserfs. + Read www.reiserfs.org to learn more about reiserfs. Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com. diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index aebb0303a..dfcf18018 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile @@ -81,6 +81,7 @@ APISOURCES := $(TOPDIR)/drivers/media/video/videodev.c \ $(TOPDIR)/fs/devfs/base.c \ $(TOPDIR)/kernel/pm.c \ $(TOPDIR)/kernel/ksyms.c \ + $(TOPDIR)/kernel/kmod.c \ $(TOPDIR)/net/netsyms.c kernel-api.sgml: kernel-api.tmpl $(APISOURCES) diff --git a/Documentation/DocBook/kernel-hacking.tmpl b/Documentation/DocBook/kernel-hacking.tmpl index 47fbe077e..9a5dbc10a 100644 --- a/Documentation/DocBook/kernel-hacking.tmpl +++ b/Documentation/DocBook/kernel-hacking.tmpl @@ -1179,7 +1179,7 @@ static struct block_device_operations opt_fops = { You may well want to make your CONFIG option only visible if <symbol>CONFIG_EXPERIMENTAL</symbol> is enabled: this serves as a warning to users. There many other fancy things you can do: see - the the various <filename>Config.in</filename> files for ideas. + the various <filename>Config.in</filename> files for ideas. </para> </listitem> diff --git a/Documentation/DocBook/kernel-locking.tmpl b/Documentation/DocBook/kernel-locking.tmpl index cfce2afd3..28202955e 100644 --- a/Documentation/DocBook/kernel-locking.tmpl +++ b/Documentation/DocBook/kernel-locking.tmpl @@ -386,7 +386,7 @@ <function>spin_lock()</function> and <function>spin_unlock()</function> calls. <function>spin_lock_bh()</function> is - unnecessary here, as you are already in a a tasklet, and + unnecessary here, as you are already in a tasklet, and none will be run on the same CPU. </para> </sect2> @@ -720,7 +720,8 @@ halves without a lock. Depending on their exact timing, they would either see the new element in the list with a valid <structfield>next</structfield> pointer, or it would not be in the - list yet. + list yet. A lock is still required against other CPUs inserting + or deleting from the list, of course. </para> <para> diff --git a/Documentation/SubmittingDrivers b/Documentation/SubmittingDrivers index 92a169ac2..7d3cd85ad 100644 --- a/Documentation/SubmittingDrivers +++ b/Documentation/SubmittingDrivers @@ -45,7 +45,7 @@ Linux 2.4test: What Criteria Determine Acceptance ---------------------------------- -Licensing: The code must be released to us under the GNU public license. +Licensing: The code must be released to us under the GNU General Public License. We don't insist on any kind of exclusively GPL licensing, and if you wish the driver to be useful to other communities such as BSD you may well wish to release under multiple diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt index 56d4d7a6a..0f748f8ef 100644 --- a/Documentation/cciss.txt +++ b/Documentation/cciss.txt @@ -6,6 +6,8 @@ Supported Cards: This driver is known to work with the following cards: * SA 5300 + * SA 5i + * SA 532 If notes are not already created in the /dev/cciss directory diff --git a/Documentation/cris/README b/Documentation/cris/README new file mode 100644 index 000000000..b512873ff --- /dev/null +++ b/Documentation/cris/README @@ -0,0 +1,174 @@ +Linux 2.4 on the CRIS architecture +================================== +$Id: README,v 1.5 2001/01/10 17:20:55 bjornw Exp $ + +This is a port of Linux 2.4 to Axis Communications ETRAX 100LX embedded network CPU. For +more information about CRIS and ETRAX please see further below. + +<... to come: instructions on how to grab the right gcc, compiling and booting ...> + + +What is CRIS ? +-------------- + +CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU architecture in Axis +Communication AB's range of embedded network CPU's, called ETRAX. The latest CPU is called +ETRAX 100LX, where LX stands for 'Linux' because the chip was designed to be a good host for +the Linux operating system. + +The ETRAX 100LX chip +-------------------- + +For reference, plase see the press-release: + +http://www.axis.com/news/us/001101_etrax.htm + +The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad range of +built-in interfaces, all with modern scatter/gather DMA. + +Memory interfaces: + + * SRAM + * NOR-flash/ROM + * EDO or page-mode DRAM + * SDRAM + +I/O interfaces: + + * one 10/100 Mbit/s ethernet controller + * four serial-ports (up to 6 Mbit/s) + * two synchronous serial-ports for multimedia codec's etc. + * USB host controller and USB slave + * ATA + * SCSI + * two parallel-ports + * two generic 8-bit ports + + (not all interfaces are available at the same time due to chip pin multiplexing) + +The previous version of the ETRAX, the ETRAX 100, sits in almost all of Axis shipping +thin-servers like the Axis 2100 web camera or the developer-board. It lacks an MMU so the +Linux we run on that is a version of uClinux (Linux 2.0 without MM-support) ported to the CRIS +architecture. The new Linux 2.4 port has full MM and needs a CPU with an MMU, so it will not +run on the ETRAX 100. + +A version of the Axis developer-board with ETRAX 100LX will be available as soon as the chip +is ramped up (please see http://developer.axis.com for further information on that). + + + +Bootlog +------- + +Just as an example, this is the debug-output from a boot of Linux 2.4 on an Axis +developer-board with ETRAX 100LX. The displayed BogoMIPS value is 5 times too small :) +At the end you see some user-mode programs booting like telnet and ftp daemons. + +Linux version 2.4.0-test11 (bjornw@godzilla.axis.se) (gcc version 2.96 20000427 (experimental)) #358 Wed Nov 22 19:29:15 CET 2000 +ROM fs in RAM, size 368640 bytes +Setting up paging and the MMU. +On node 0 totalpages: 1024 +zone(0): 1024 pages. +zone(1): 0 pages. +zone(2): 0 pages. +Linux/CRIS port (c) 2000 Axis Communications AB +Kernel command line: +Calibrating delay loop... 19.92 BogoMIPS +Memory: 6864k/8192k available (531k kernel code, 1328k reserved, 85k data, 24k init) +kmem_create: Forcing size word alignment - vm_area_struct +kmem_create: Forcing size word alignment - filp +Dentry-cache hash table entries: 1024 (order: 0, 8192 bytes) +Buffer-cache hash table entries: 2048 (order: 0, 8192 bytes) +Page-cache hash table entries: 2048 (order: 0, 8192 bytes) +kmem_create: Forcing size word alignment - kiobuf +kmem_create: Forcing size word alignment - bdev_cache +Inode-cache hash table entries: 1024 (order: 0, 8192 bytes) +kmem_create: Forcing size word alignment - inode_cache +POSIX conformance testing by UNIFIX +Linux NET4.0 for Linux 2.4 +Based upon Swansea University Computer Society NET3.039 +kmem_create: Forcing size word alignment - skbuff_head_cache +Starting kswapd v1.8 +kmem_create: Forcing size word alignment - file lock cache +kmem_create: Forcing size word alignment - blkdev_requests +ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications AB +eth0 initialized +eth0: changed MAC to 00:40:8C:CD:00:00 +ETRAX 100LX serial-driver $Revision: 1.5 $, (c) 2000 Axis Communications AB +ttyS0 at 0xb0000060 is a builtin UART with DMA +ttyS1 at 0xb0000068 is a builtin UART with DMA +ttyS2 at 0xb0000070 is a builtin UART with DMA +ttyS3 at 0xb0000078 is a builtin UART with DMA +NET4: Linux TCP/IP 1.0 for NET4.0 +IP Protocols: ICMP, UDP, TCP +kmem_create: Forcing size word alignment - ip_dst_cache +IP: routing cache hash table of 1024 buckets, 8Kbytes +TCP: Hash tables configured (established 1024 bind 1024) +NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. +VFS: Mounted root (cramfs filesystem) readonly. +Init starts up... +Setting up eth0 with ip 10.13.9.116 and mac 00:40:8c:18:04:60 +eth0: changed MAC to 00:40:8C:18:04:60 +Setting up lo with ip 127.0.0.1 +Default gateway is 10.13.9.1 +Hostname is bbox1 +Telnetd starting, using port 23. + using /bin/sh as shell. +sftpd[14]: sftpd $Revision: 1.5 $ starting up + + +And here is how some /proc entries look: + +17# cd /proc +17# cat cpuinfo +cpu : ETRAX +cpu revision : 10 +cpu model : ETRAX 100LX +cache size : 8 kB +fpu : no +mmu : yes +ethernet : 10/100 Mbps +token ring : no +scsi : yes +ata : yes +usb : yes +bogomips : 99.84 +17# cat meminfo + total: used: free: shared: buffers: cached: +Mem: 7028736 925696 6103040 114688 0 229376 +Swap: 0 0 0 +MemTotal: 6864 kB +MemFree: 5960 kB +MemShared: 112 kB +Buffers: 0 kB +Cached: 224 kB +Active: 224 kB +Inact_dirty: 0 kB +Inact_clean: 0 kB +Inact_target: 0 kB +HighTotal: 0 kB +HighFree: 0 kB +LowTotal: 6864 kB +LowFree: 5960 kB +SwapTotal: 0 kB +SwapFree: 0 kB +17# ls -l /bin +-rwxr-xr-x 1 342 100 10356 Jan 01 00:00 ifconfig +-rwxr-xr-x 1 342 100 17548 Jan 01 00:00 init +-rwxr-xr-x 1 342 100 9488 Jan 01 00:00 route +-rwxr-xr-x 1 342 100 46036 Jan 01 00:00 sftpd +-rwxr-xr-x 1 342 100 48104 Jan 01 00:00 sh +-rwxr-xr-x 1 342 100 16252 Jan 01 00:00 telnetd + + +(All programs are statically linked to the libc at this point - we have not ported the + shared libraries yet) + + + + + + + + + diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX index ec53a9501..55c8e742d 100644 --- a/Documentation/filesystems/00-INDEX +++ b/Documentation/filesystems/00-INDEX @@ -1,5 +1,7 @@ 00-INDEX - this file (info on some of the filesystems supported by linux). +Locking + - info on locking rules as they pertain to Linux VFS. adfs.txt - info and mount options for the Acorn Advanced Disc Filing System. affs.txt @@ -8,8 +10,12 @@ bfs.txt - info for the SCO UnixWare Boot Filesystem (BFS). coda.txt - description of the CODA filesystem. -devfs +cramfs.txt + - info on the cram filesystem for small storage (ROMs etc) +devfs/ - directory containing devfs documentation. +ext2.txt + - info, mount options and specifications for the Ext2 filesystem. fat_cvf.txt - info on the Compressed Volume Files extension to the FAT filesystem hpfs.txt diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 6213242da..8e7276b35 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking @@ -117,7 +117,7 @@ yes yes yes maybe --------------------------- address_space_operations -------------------------- prototypes: - int (*writepage)(struct file *, struct page *); + int (*writepage)(struct page *); int (*readpage)(struct file *, struct page *); int (*sync_page)(struct page *); int (*prepare_write)(struct file *, struct page *, unsigned, unsigned); @@ -126,8 +126,8 @@ prototypes: locking rules: All may block BKL PageLocked(page) -writepage: no yes -readpage: no yes +writepage: no yes, unlocks +readpage: no yes, unlocks sync_page: no maybe prepare_write: no yes commit_write: no yes @@ -135,6 +135,7 @@ bmap: yes ->prepare_write(), ->commit_write(), ->sync_page() and ->readpage() may be called from the request handler (/dev/loop). + ->readpage() and ->writepage() unlock the page. ->sync_page() locking rules are not well-defined - usually it is called with lock on page, but that is not guaranteed. Considering the currently existing instances of this method ->sync_page() itself doesn't look @@ -285,26 +286,13 @@ transfer: no prototypes: void (*open)(struct vm_area_struct*); void (*close)(struct vm_area_struct*); - void (*unmap)(struct vm_area_struct*, unsigned long, size_t); - void (*protect)(struct vm_area_struct*, unsigned long, size_t, unsigned); - int (*sync)(struct vm_area_struct*, unsigned long, size_t, unsigned); struct page *(*nopage)(struct vm_area_struct*, unsigned long, int); - struct page *(*wppage)(struct vm_area_struct*, unsigned long, struct page*); - int (*swapout)(struct page *, struct file *); locking rules: BKL mmap_sem open: no yes close: no yes -sync: no yes -unmap: no yes nopage: no yes -swapout: yes yes -wpppage: (see below) -protect: (see below) - -->wppage() and ->protect() have no instances and nothing calls them; looks like -they must die... ================================================================================ Dubious stuff diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index 7f8794cf6..8044500fd 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt @@ -2,18 +2,25 @@ NTFS Overview ============= To mount an NTFS volume, use the filesystem type 'ntfs'. The driver -currently works only in read-only mode, with no fault-tolerance -supported. If you enable the experimental write support, make sure -you can recover from a complete loss of data and also always run -chkdsk from within Microsoft Windows NT after performing a write to -a NTFS partition from Linux to detect any problems as early as -possible. For ftdisk support, limited success was reported with -volume sets on top of the md driver, although mirror and stripe -sets should work as well - if the md driver can be talked into -using the same layout as Windows NT. +currently works only in read-only mode, with no fault-tolerance supported. + +If you enable the dangerous(!) write support, make sure you can recover +from a complete loss of data. Also, download the Linux-NTFS project +distribution from Sourceforge at http://sourceforge.net/projects/linux-ntfs/ +and always run the included ntfsfix utility after performing a write to an +NTFS partition from Linux to fix some of the damage done by the Linux NTFS +driver. You should run ntfsfix _after_ unmounting the partition in Linux but +_before_ rebooting into Windows. During the next reboot into Windows, chkdsk +will be run automatically to fix the remaining damage. + +For ftdisk support, limited success was reported with volume sets on top of +the md driver, although mirror and stripe sets should work as well - if the +md driver can be talked into using the same layout as Windows NT. However, +using the md driver will fail if any of your NTFS partitions have an odd +number of sectors. Please note that the experimental write support is limited to -Windows NT4 and earlier versions. +Windows NT4 and earlier versions at the moment. The ntfs driver supports the following mount options: iocharset=name Character set to use when returning file names. diff --git a/Documentation/i2c/smbus-protocol b/Documentation/i2c/smbus-protocol index 9f024396d..ffbd81345 100644 --- a/Documentation/i2c/smbus-protocol +++ b/Documentation/i2c/smbus-protocol @@ -31,7 +31,7 @@ Count (8 bits): A data byte containing the length of a block operation. SMBus Write Quick ================= -This sends a single byte to the device, at the place of the Rd/Wr bit. +This sends a single bit to the device, at the place of the Rd/Wr bit. There is no equivalent Read Quick command. A Addr Rd/Wr [A] P diff --git a/Documentation/ia64/efirtc.txt b/Documentation/ia64/efirtc.txt index 87f66bbaf..2e1ecceaf 100644 --- a/Documentation/ia64/efirtc.txt +++ b/Documentation/ia64/efirtc.txt @@ -13,7 +13,7 @@ to get access to the Time Service offered by EFI version 0.92. EFI provides 4 calls one can make once the OS is booted: GetTime(), SetTime(), GetWakeupTime(), SetWakeupTime() which are all supported by this driver. -We describes those calls as well the the design of the driver in the following +We describe those calls as well the design of the driver in the following sections. II/ Design Decisions diff --git a/Documentation/ioctl-number.txt b/Documentation/ioctl-number.txt index 4fd9a4b5a..009d194ee 100644 --- a/Documentation/ioctl-number.txt +++ b/Documentation/ioctl-number.txt @@ -82,6 +82,7 @@ Code Seq# Include File Comments 'B' C0-FF advanced bbus <mailto:maassen@uni-freiburg.de> 'C' all linux/soundcard.h +'D' all asm-s390/dasd.h 'F' all linux/fb.h 'I' all linux/isdn.h 'J' 00-1F drivers/scsi/gdth_ioctl.h diff --git a/Documentation/isdn/INTERFACE b/Documentation/isdn/INTERFACE index c2a5494b1..a82ffcc1c 100644 --- a/Documentation/isdn/INTERFACE +++ b/Documentation/isdn/INTERFACE @@ -480,7 +480,7 @@ Description of the Interface between Linklevel and Hardwarelevel Parameter: driver = driver-Id command = ISDN_CMD_PROT_IO - arg = The lower 8 Bits define the adressed protocol as defined + arg = The lower 8 Bits define the addressed protocol as defined in ISDN_PTYPE..., the upper bits are used to differenciate the protocol specific CMD. @@ -734,7 +734,7 @@ Description of the Interface between Linklevel and Hardwarelevel Parameter: driver = driver-Id command = ISDN_STAT_PROT - arg = The lower 8 Bits define the adressed protocol as defined + arg = The lower 8 Bits define the addressed protocol as defined in ISDN_PTYPE..., the upper bits are used to differenciate the protocol specific STAT. @@ -748,7 +748,7 @@ Description of the Interface between Linklevel and Hardwarelevel loading the driver. The LL has to ignore a disabled channel when searching for free channels. The HL driver itself never delivers STAT callbacks for disabled channels. - The LL returns a nonzero code if the operation was not successfull or the + The LL returns a nonzero code if the operation was not successful or the selected channel is actually regarded as busy. Parameter: diff --git a/Documentation/isdn/README.HiSax b/Documentation/isdn/README.HiSax index 63308c20a..57fd7906f 100644 --- a/Documentation/isdn/README.HiSax +++ b/Documentation/isdn/README.HiSax @@ -442,6 +442,7 @@ Special thanks to: Enrik Berkhan (enrik@starfleet.inka.de) for S0BOX specific stuff Ton van Rosmalen for Teles PCI Petr Novak <petr.novak@i.cz> for Winbond W6692 support + Werner Cornelius <werner@isdn4linux.de> for HFC-PCI, HFC-S(+/P) and supplementary services support and more people who are hunting bugs. (If I forgot somebody, please send me a mail). diff --git a/Documentation/isdn/README.diversion b/Documentation/isdn/README.diversion index 98909b1bf..bddcd5fb8 100644 --- a/Documentation/isdn/README.diversion +++ b/Documentation/isdn/README.diversion @@ -6,7 +6,7 @@ document. The diversion services may be used with all cards supported by the HiSax driver. The diversion kernel interface and controlling tool divertctrl were written by Werner Cornelius (werner@isdn4linux.de or werner@titro.de) under the -GNU Public License. +GNU General Public License. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/Documentation/isdn/README.hfc-pci b/Documentation/isdn/README.hfc-pci index 6cc311e35..e8a4ef022 100644 --- a/Documentation/isdn/README.hfc-pci +++ b/Documentation/isdn/README.hfc-pci @@ -35,7 +35,7 @@ If the io parameter is used the io addresses of all used cards should be supplied else the parameter is assumed 0 and a auto search for a free card is invoked which may not give the wanted result. -Comments and reports to werner@isdn4linux.de or werner@titro.de . +Comments and reports to werner@isdn4linux.de or werner@isdn-development.de diff --git a/Documentation/isdn/README.hysdn b/Documentation/isdn/README.hysdn index 90a5e8b71..f8ce775d6 100644 --- a/Documentation/isdn/README.hysdn +++ b/Documentation/isdn/README.hysdn @@ -2,7 +2,7 @@ $Id: README.hysdn,v 1.3 2000/08/06 09:22:51 armin Exp $ The hysdn driver has been written by by Werner Cornelius (werner@isdn4linux.de or werner@titro.de) for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver -under the GNU Public License. +under the GNU General Public License. The CAPI 2.0-support was added by Ulrich Albrecht (ualbrecht@hypercope.de) for Hypercope GmbH Aachen, Germany. diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt index ef789acf2..6fb392bb0 100644 --- a/Documentation/kbuild/makefiles.txt +++ b/Documentation/kbuild/makefiles.txt @@ -1206,7 +1206,7 @@ people define most variables using "new style" but then fall back to mod-subdirs - $(mod-subdirs) is a list of all the the subdirectories that should + $(mod-subdirs) is a list of all the subdirectories that should be added to $(subdir-m), too if they appear in $(subdir-y) Example: diff --git a/Documentation/magic-number.txt b/Documentation/magic-number.txt index 5b81ca3f8..fa3361fb4 100644 --- a/Documentation/magic-number.txt +++ b/Documentation/magic-number.txt @@ -65,7 +65,6 @@ ESP_MAGIC 0x53ee esp_struct drivers/char/esp.h TTY_MAGIC 0x5401 tty_struct include/linux/tty.h TTY_DRIVER_MAGIC 0x5402 tty_driver include/linux/tty_driver.h TTY_LDISC_MAGIC 0x5403 tty_ldisc include/linux/tty_ldisc.h -SCC_MAGIC 0x8530 scc_channel include/linux/scc.h SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h CG_MAGIC 0x090255 ufs_cylinder_group include/linux/ufs_fs.h RPORT_MAGIC 0x525001 r_port drivers/char/rocket_int.h diff --git a/Documentation/mca.txt b/Documentation/mca.txt index 5ac4ecc26..6e32c305c 100644 --- a/Documentation/mca.txt +++ b/Documentation/mca.txt @@ -25,7 +25,7 @@ this. The typical probe code looks like the following: if( MCA_bus ) { slot = mca_find_adapter( ADAPTER_ID, 0 ); if( slot == MCA_NOTFOUND ) { - return ENODEV; + return -ENODEV; } /* optional - see below */ mca_set_adapter_name( slot, "adapter name & description" ); @@ -37,7 +37,7 @@ this. The typical probe code looks like the following: pos4 = mca_read_stored_pos( slot, 4 ); pos5 = mca_read_stored_pos( slot, 5 ); } else { - return ENODEV; + return -ENODEV; } /* extract configuration from pos[2345] and set everything up */ diff --git a/Documentation/modules.txt b/Documentation/modules.txt index 885a4d6af..833a05804 100644 --- a/Documentation/modules.txt +++ b/Documentation/modules.txt @@ -137,6 +137,39 @@ you will automatically load _both_ the msdos and umsdos modules, since umsdos runs piggyback on msdos. +Using modinfo: +-------------- + +Sometimes you need to know what parameters are accepted by a +module or you've found a bug and want to contact the maintainer. +Then modinfo comes in very handy. + +Every module (normally) contains the author/maintainer, +a description and a list of parameters. + +For example "modinfo -a eepro100" will return: + + Maintainer: Andrey V. Savochkin <saw@saw.sw.com.sg> + +and "modinfo -d eepro100" will return a description: + + Intel i82557/i82558 PCI EtherExpressPro driver + +and more important "modinfo -p eepro100" will return this list: + + debug int + options int array (min = 1, max = 8) + full_duplex int array (min = 1, max = 8) + congenb int + txfifo int + rxfifo int + txdmacount int + rxdmacount int + rx_copybreak int + max_interrupt_work int + multicast_filter_limit int + + The "ultimate" utility: ----------------------- diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX index 59de4ac19..8a4d41b0b 100644 --- a/Documentation/networking/00-INDEX +++ b/Documentation/networking/00-INDEX @@ -4,32 +4,46 @@ - information on the 3Com EtherLink Plus (3c505) driver. 6pack.txt - info on the 6pack protocol, an alternative to KISS for AX.25 +8139too.txt + - info on the 8139too driver for RTL-8139 based network cards. Configurable - info on some of the configurable network parameters DLINK.txt - info on the D-Link DE-600/DE-620 parallel port pocket adapters PLIP.txt - PLIP: The Parallel Line Internet Protocol device driver +README.sb1000 + - info on General Instrument/NextLevel SURFboard1000 cable modem. alias.txt - info on using alias network devices arcnet-hardware.txt - tons of info on ARCnet, hubs, jumper settings for ARCnet cards, etc. arcnet.txt - info on the using the ARCnet driver itself. +atm.txt + - info on where to get ATM programs and support for Linux. ax25.txt - info on using AX.25 and NET/ROM code for Linux baycom.txt - info on the driver for Baycom style amateur radio modems +bridge.txt + - where to get user space programs for ethernet bridging with Linux. +comx.txt + - info on drivers for COMX line of synchronous serial adapters. cops.txt - info on the COPS LocalTalk Linux driver cs89x0.txt - the Crystal LAN (CS8900/20-based) Ethernet ISA adapter driver de4x5.txt - the Digital EtherWORKS DE4?? and DE5?? PCI Ethernet driver +decnet.txt + - info on using the DECnet networking layer in Linux. depca.txt - the Digital DEPCA/EtherWORKS DE1?? and DE2?? LANCE Ethernet driver dgrs.txt - the Digi International RightSwitch SE-X Ethernet driver +dmfe.txt + - info on the Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver. eql.txt - serial IP load balancing ethertap.txt @@ -38,6 +52,8 @@ ewrk3.txt - the Digital EtherWORKS 3 DE203/4/5 Ethernet driver filter.txt - Linux Socket Filtering +fore200e.txt + - FORE Systems PCA-200E/SBA-200E ATM NIC driver info. framerelay.txt - info on using Frame Relay/Data Link Connection Identifier (DLCI). ip-sysctl.txt @@ -46,6 +62,10 @@ ip_dynaddr.txt - IP dynamic address hack e.g. for auto-dialup links ipddp.txt - AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation +iphase.txt + - Interphase PCI ATM (i)Chip IA Linux driver info. +irda.txt + - where to get IrDA (infrared) utilities and info for Linux. lapb-module.txt - programming information of the LAPB module. ltpc.txt @@ -56,22 +76,42 @@ ncsa-telnet - notes on how NCSA telnet (DOS) breaks with MTU discovery enabled. net-modules.txt - info and "insmod" parameters for all network driver modules. +netdevices.txt + - info on network device driver functions exported to the kernel. +olympic.txt + - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info. policy-routing.txt - IP policy-based routing pt.txt - the Gracilis Packetwin AX.25 device driver +ray_cs.txt + - Raylink Wireless LAN card driver info. routing.txt - the new routing mechanism shaper.txt - info on the module that can shape/limit transmitted traffic. +sis900.txt + - SiS 900/7016 Fast Ethernet device driver info. +sk98lin.txt + - SysKonnect SK-NET (SK-98xx) Gigabit Ethernet driver info. +skfp.txt + - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info. smc9.txt - the driver for SMC's 9000 series of Ethernet cards +smctr.txt + - SMC TokenCard TokenRing Linux driver info. soundmodem.txt - Linux driver for sound cards as AX.25 modems tcp.txt - short blurb on how TCP output takes place. +tlan.txt + - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. +tms380tr.txt + - SysKonnect Token Ring ISA/PCI adapter driver info. tulip.txt - info on using DEC 21040/21041/21140 based PCI Ethernet cards. +tuntap.txt + - TUN/TAP device driver, allowing user space Rx/Tx of packets. vortex.txt - info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) Ethernet cards. wan-router.txt diff --git a/Documentation/networking/decnet.txt b/Documentation/networking/decnet.txt index a2b050be9..82ce17b7a 100644 --- a/Documentation/networking/decnet.txt +++ b/Documentation/networking/decnet.txt @@ -145,7 +145,7 @@ information (_most_ of which _is_ _essential_) includes: - What is in the /proc/decnet* files and /proc/sys/net/decnet/* files ? - Which services are you running ? - Which client caused the problem ? - - How much data was being transfered ? + - How much data was being transferred ? - Was the network congested ? - If there was a kernel panic, please run the output through ksymoops before sending it to me, otherwise its _useless_. diff --git a/Documentation/networking/smc9.txt b/Documentation/networking/smc9.txt index 243c7e7e7..d1e15074e 100644 --- a/Documentation/networking/smc9.txt +++ b/Documentation/networking/smc9.txt @@ -3,7 +3,7 @@ SMC 9xxxx Driver Revision 0.12 3/5/96 Copyright 1996 Erik Stahlman -Released under terms of the GNU public license. +Released under terms of the GNU General Public License. This file contains the instructions and caveats for my SMC9xxx driver. You should not be using the driver without reading this file. diff --git a/Documentation/s390/TAPE b/Documentation/s390/TAPE new file mode 100644 index 000000000..5576f4923 --- /dev/null +++ b/Documentation/s390/TAPE @@ -0,0 +1,125 @@ +Channel attached Tape device driver + +-----------------------------WARNING----------------------------------------- +This driver is considered to be EXPERIMENTAL. Do NOT use it in +production environments. Feel free to test it and report problems back to us. +----------------------------------------------------------------------------- + +The LINUX for zSeries tape device driver manages channel attached tape drives +which are compatible to IBM 3480 or IBM 3490 magnetic tape subsystems. This +includes various models of these devices (for example the 3490E). + + +Tape driver features + +The device driver supports a maximum of 128 tape devices. +No official LINUX device major number is assigned to the zSeries tape device +driver. It allocates major numbers dynamically and reports them on system +startup. +Typically it will get major number 254 for both the character device front-end +and the block device front-end. + +The tape device driver needs no kernel parameters. All supported devices +present are detected on driver initialization at system startup or module load. +The devices detected are ordered by their subchannel numbers. The device with +the lowest subchannel number becomes device 0, the next one will be device 1 +and so on. + + +Tape character device front-end + +The usual way to read or write to the tape device is through the character +device front-end. The zSeries tape device driver provides two character devices +for each physical device -- the first of these will rewind automatically when +it is closed, the second will not rewind automatically. + +The character device nodes are named /dev/rtibm0 (rewinding) and /dev/ntibm0 +(non-rewinding) for the first device, /dev/rtibm1 and /dev/ntibm1 for the +second, and so on. + +The character device front-end can be used as any other LINUX tape device. You +can write to it and read from it using LINUX facilities such as GNU tar. The +tool mt can be used to perform control operations, such as rewinding the tape +or skipping a file. + +Most LINUX tape software should work with either tape character device. + + +Tape block device front-end + +The tape device may also be accessed as a block device in read-only mode. +This could be used for software installation in the same way as it is used with +other operation systems on the zSeries platform (and most LINUX +distributions are shipped on compact disk using ISO9660 filesystems). + +One block device node is provided for each physical device. These are named +/dev/btibm0 for the first device, /dev/btibm1 for the second and so on. +You should only use the ISO9660 filesystem on LINUX for zSeries tapes because +the physical tape devices cannot perform fast seeks and the ISO9660 system is +optimized for this situation. + + +Tape block device example + +In this example a tape with an ISO9660 filesystem is created using the first +tape device. ISO9660 filesystem support must be built into your system kernel +for this. +The mt command is used to issue tape commands and the mkisofs command to +create an ISO9660 filesystem: + +- create a LINUX directory (somedir) with the contents of the filesystem + mkdir somedir + cp contents somedir + +- insert a tape + +- ensure the tape is at the beginning + mt -f /dev/ntibm0 rewind + +- set the blocksize of the character driver. The blocksizes 512, 1024 + and 2048 bytes are supported by ISO9660. 1024 is the default, u + which will be used here. + mt -f /dev/ntibm0 setblk 1024 + +- write the filesystem to the character device driver + mkisofs -o /dev/ntibm0 somedir + +- rewind the tape again + mt -f /dev/ntibm0 rewind + +- Now you can mount your new filesystem as a block device: + mount -t iso9660 -o ro,block=1024 /dev/btibm0 /mnt + +TODO List + +- The backend code has to be enhanced to support error-recovery actions. + +- The seeking algorithm of the block device has to be improved to speed + things up + +BUGS + +There are lots of weaknesses still in the code. This is why it is EXPERIMENTAL. +If an error occurs which cannot be handled by the code you will get a +sense-data dump.In that case please do the following: + +1. set the tape driver debug level to maximum: + echo 6 >/proc/s390dbf/tape/level + +2. re-perform the actions which produced the bug. (Hopefully the bug will + reappear.) + +3. get a snapshot from the debug-feature: + cat /proc/s390dbf/tape/hex_ascii >somefile + +4. Now put the snapshot together with a detailed description of the situation + that led to the bug: + - Which tool did you use? + - Which hardware do you have? + - Was your tape unit online? + - Is it a shared tape unit? + +5. Send an email with your bug report to: + mailto:Linux390@de.ibm.com + + diff --git a/Documentation/s390/cds.txt b/Documentation/s390/cds.txt index 1de558718..746f36dd0 100644 --- a/Documentation/s390/cds.txt +++ b/Documentation/s390/cds.txt @@ -539,7 +539,7 @@ flag : defines the action to e parformed for I/O processing Possible flag values are : -DOIO_EARLY_NOTIFICATION - allow for early interupt notification +DOIO_EARLY_NOTIFICATION - allow for early interrupt notification DOIO_VALID_LPM - LPM input parameter is valid (see usage notes below for details) DOIO_WAIT_FOR_INTERRUPT - wait synchronously for final status @@ -549,7 +549,7 @@ The cpa parameter points to the first format 1 CCW of a channel program : typedef struct { char cmd_code; /* command code */ - char flags; /* flags, like IDA adressing, etc. */ + char flags; /* flags, like IDA addressing, etc. */ unsigned short count; /* byte count */ void *cda; /* data address */ } ccw1_t __attribute__ ((aligned(8))); diff --git a/Documentation/s390/chandev.8 b/Documentation/s390/chandev.8 new file mode 100644 index 000000000..e39975846 --- /dev/null +++ b/Documentation/s390/chandev.8 @@ -0,0 +1,306 @@ +.TH chandev 8 +.SH NAME +channel device layer +.Dd December 6, 2000 +.Os Linux for Zseries + +.SH SYNOPSIS +The channel device layer is a layer to provide a consistent interface for +configuration & default machine check (devices appearing & disappearing ) +handling Linux for zSeries channel devices. + +These include among others + +.Bl -item +.It +lcs ( the most common ethernet/token ring/fddi standard on zSeries ) +.It +ctc/escon hi speed like serial link standard on zSeries. +.It +claw used to talk to cisco routers. +.It +qeth gigabit ethernet. +.El + +These devices use two channels one read & one write for configuration & +or communication. +The motivation behind producing this layer was that there is a lot of +duplicate code among the drivers for configuration so the lcs & ctc drivers +tended to fight over 3088/08's & 3088/1F's which could be either 2216/3172 +lcs compatible devices or escons/ctc's & to resolve this fight +both device drivers had to be reconfigured rather than doing the +configuration in a single place. + +.SH DESCRIPTION +The current setup can be read from /proc/chandev +arguments can be entered by... +.Bl -enum +.It +Piping to /proc/chandev. +.It +Entering them into /etc/chandev.conf comments are prefixed #. +.It +Or from the boot command line using the 'chandev=' keyword +.El +Multiple options can be passed separated by semicolons but no spaces are allowed between parameters. The script /bin/chandev will be called automatically on startup or a machine check of a device as follows. +/bin/chandev <start starting_devnames> <machine_check (devnames pre_recovery_action_status) (post_recovery_action_status)>. + +e.g. if tr0 & ctc0 were starting up & eth0 & eth1 didn't recover from a gone machine check at the same instant the parameters would be. + + +/bin/chandev start tr0 ctc0 machine_check eth0 gone gone eth1 gone gone + + +This can be used for example to call /etc/rc.d/init.d/network start when a device appears & make the ipldelay kernel boot parameter obselete on native machines or recover from bad machine checks where the default machine check handling isn't adequete. The machine checks that can be presented as parameters are good not_operational no_path revalidate device_gone. + +valid chandev arguments are <> indicate optional parameters, | indicate a choice. + +.B glossary +.Bl -item +.It +devno: is a 16 bit unsigned number used to uniquely identify a subchannel to a device. +.It +force list: is a term specific to channel device layer describing a range of devno's to be forced to configure in a particular manner as opposed to autodetect +.El + +.B commonly used options + +.Bl -item +.It + +.Bl -item + +.It +.B (ctc|escon|lcs|osad|qeth|claw)<devif_num>, +read_devno, write_devno, <port_no/protocol_no>, <checksum_received_ip_pkts>, <use_hw_stats> +.It +e.g. ctc0,0x7c00,0x7c01,0,0,0 +.It +Tells the channel layer to force ctc0 if detected to use cuu's 7c00 & 7c01 port,port_no is the relative adapter no on lcs, on ctc/escon this field is the ctc/escon protocol number ( normally 0 ), don't do checksumming on received ip packets & as ctc doesn't have hardware stats so it ignores this parameter. +.El +.It + +.Bl -item +.It +.B add_parms +,chan_type,<string> +.It +chan_type bitfield +.It +ctc=0x1, escon=0x2, lcs=0x4, osad=0x8, qeth=0x10, claw=0x20. +.It +This is for device driver specific options passed as a string to the driver +not dealt with by the channel device layer it can't contain spaces. +.El +.It + +.Bl -item +.It +.B del_parms +<,chan_type,exact_match> +.It +This deletes some or all device driver specific options not specifying chan_type causes it to delete all the strings. exact_match=1 specifies only to remove driver parms where chan_type is exactly equal exact_match=0 specifies to remove parms where any bit matches chan_type. +.El +.It + +.Bl -item +.It +.B noauto +,<lo_devno>-<hi_devno> +.It +Don't probe a range of device numbers for channel devices. +.El +.It + +.Bl -item +.It +.B use_devno_names +.It +Tells the channel layer to assign device names based on the read channel cuu number. +.It +e.g. a token ring read channel 0x7c00 would have an interface called tr0x7c00 this avoids name collisions on devices. +.El +.El + + +.B power user options + + +.Bl -item + +.It +.Bl -item +.It +.B del_noauto +,<devno> +.It + Delete a range or all noauto ranges when devno is within a range. +.El + +.It +.Bl -item +.It +.B del_force +,read_devno +.It +Delete a forced channel device from force list. +.El + +.It +.Bl -item +.It +.B dont_use_devno_names +.It +Opposite to use_devno_names described above. +.El + + +.It +.Bl -item +.It +.B add_model +,chan_type, cu_type, cu_model, dev_type, dev_model, max_port_no, automatic_machine_check_handling + +.It +Tells the channel layer to probe for the device described, -1 for any of the parameters other than chan_type & automatic_machine_check_handling is a wildcard. +Set max_port_no to 0 for non lcs devices. +.It +auto machine check recovery bitfield +.It +not_operational=0x1, no_path=0x2, revalidate=0x4, gone=0x8 +.It +chan_type bitfield +.It +ctc=0x1, escon=0x2, lcs=0x4, osad=0x8, qeth=0x10, claw=0x20 + +.It +.Bl -item +.It +.B del_model +,cu_type,cu_model,dev_type,dev_model +.It +-1 for any parameter is a wildcard, +.El +.It +.B del_all_models +.It +.Bl -item +.It +.B auto_msck +<,lo_devno>,<hi_devno>,auto_msck_recovery +.It +This is used to specify the kind of machine check recovery that occurs over a device range. +.El +.It +.Bl -item +.It +.B del_auto_msck +<,devno> +.It +Delete a range or all machine check recovery ranges when devno is within a range. +.El +.It +.Bl -item +.It +.B reset_clean +.It +Resets all model info, forced devices & noauto lists to null. +.El +.It +.Bl -item +.It +.B reset_conf +.It +Resets all model info, forced devices & noauto lists back to default settings. +.El +.It +.Bl -item +.It +.B reset_conf_clean +.It +Resets all model info, forced devices & noauto lists to empty. +.El +.It +.Bl -item +.It +.B shutdown +<device name|read devno> +.It +Shuts down a particular device by device name or read devno, +deregisters it & releases its interrupts +or shuts down all devices if no parameter is used. +.El +.It +.Bl -item +.It +.B reprobe +.It +Calls probe method for channels whose interrupts are not owned. +.El +.It +.Bl -item +.It +.B read_conf +.It +Read instructions from /etc/chandev.conf. +.El +.It +.Bl -item +.It +.B dont_read_conf +.It +Don't automatically read /etc/chandev.conf on boot. +.El +.It +e.g the following sequence of commands should be roughly equivalent +to rebooting for channel devices. +.Bl -item +.It +shutdown +.It +reset_conf +.It +read_conf +.It +reprobe +.El +.El + +.SH SEE ALSO +.Bl -item +.It +If you wish to write a driver channel device layer compatible +.It +/linux/include/asm-s390/chandev.h for the apis which are commented. +.It +/linux/drivers/s390/misc/chandev.c for the code. +.El + +.SH FILES +.Bl -item +.It +.B /proc/chandev +.It +cat /proc/chandev to see current options chosen. +.Iy +echo <command> >proc/chandev to enter a new command +.It +.B /etc/chandev.conf +.It +A file which can be used to configure the channel +device layer. +.It +kernel parameters with the +.B 'chandev=' +keyword. +.It +.B /bin/chandev +.It +A user script/executable which is run when devices come online "appear" +or go offline "disappear". +.El + + +.SH AUTHORS +DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) + diff --git a/Documentation/scsi-generic.txt b/Documentation/scsi-generic.txt index 691ecb85b..35ee8373e 100644 --- a/Documentation/scsi-generic.txt +++ b/Documentation/scsi-generic.txt @@ -314,7 +314,7 @@ driver relaxes that condition and thereby allows command queuing (limit is SG_MAX_QUEUE (16) outstanding packets per file descriptor). However, for backward compatibility, command queuing is turned off by default (#define SG_DEF_COMMAND_Q 0 in sg.h). This can be changed -via the the SG_SET_COMMAND_Q ioctl() [or by recompiling after changing +via the SG_SET_COMMAND_Q ioctl() [or by recompiling after changing the above define to 1]. In this sg driver a write() should return more or less immediately. diff --git a/Documentation/sound/AWE32 b/Documentation/sound/AWE32 index 8cf3966ed..0f50f5d24 100644 --- a/Documentation/sound/AWE32 +++ b/Documentation/sound/AWE32 @@ -3,103 +3,74 @@ This documentation is devoted to the Creative Sound Blaster AWE32, AWE64 and SB32. -1) Make sure you have an ORIGINAL Creative SB32, AWE32 or AWE64 card. This is -important, because the driver works only with real Creative cards. +1) Make sure you have an ORIGINAL Creative SB32, AWE32 or AWE64 card. This + is important, because the driver works only with real Creative cards. -2) If your card is NOT "Plug-n-Play" then go to 5th step now. In the other case -proceed to step 3. +2) The first thing you need to do is re-compile your kernel with support for + your sound card. Run your favourite tool to configure the kernel and when + you get to the "Sound" menu you should enable support for the following: -3) You should compile in kernel ISAPnP support or you should obtain isapnptools. -If you choose kernel level ISAPnP skip to step 5. I looked through other PnP -packages for Linux, but all they are either in deep unstable beta/alpha releases -or they are much worse than isapnptools. In my case isapnptools were included in -a Linux distribution (Red Hat 5.x). If you also already have them then go to -step 4. + Sound card support, + OSS sound modules, + 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support, + AWE32 synth -The latest copy of isapnptools-1.17 is available from -ftp://sunsite.unc.edu/pub/Linux/system/hardware/isapnptools-1.17.tgz -You should gunzip/untar it to something like /usr/local/ -(cp isapnptools-1.17.tgz /usr/local/; cd /usr/local/; -tar -xzf isapnptools-1.17.tgz). + If your card is "Plug and Play" you will also need to enable these two + options, found under the "Plug and Play configuration" menu: -Compile the package (make) and install it (make install). -If something goes wrong check the INSTALL file in isapnptools-1.15 directory. + Plug and Play support + ISA Plug and Play support -4) Now do a "pnpdump > /etc/isapnp.conf". File /etc/isapnp.conf will contain -info about PnP devices you may have. If you want you can read the manual page -about isapnp.conf file (man isapnp.conf). Most lines of your isapnp.conf file are -commented. You should uncomment lines which don't conflict with your -configuration. + Now compile and install the kernel in normal fashion. If you don't know + how to do this you can find instructions for this in the README file + located in the root directory of the kernel source. -ATTENTION! Device Audio should have 1 IRQ, 2 DMA and 3 base I/O resources. -If you don't have such a configuration you should manually add the resources to -the isapnp.conf file. After editing I got these lines in the Audio device -section (I ripped out all the comments): +3) Before you can start playing midi files you will have to load a sound + bank file. The utility needed for doing this is called "sfxload", and it + is one of the utilities found in a package called "awesfx". If this + package is not available in your distribution you can download the AWE + snapshot from Creative Labs Open Source website: -"(CONFIGURE CTL0044/1132685 (LD 0 (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 1)) - (DMA 1 (CHANNEL 5)) (IO 0 (BASE 0x220)) (IO 1 (BASE 0x330)) (IO 2 (BASE 0x388)) - (ACT Y)))" + http://www.opensource.creative.com/snapshot.html -(In your case CTL044/1132685 numbers may be other) + Once you have unpacked the AWE snapshot you will see a "awesfx" + directory. Follow the instructions in awesfx/docs/INSTALL to install the + utilities in this package. After doing this, sfxload should be installed + as: -Don't forget to uncomment (ACT Y)! + /usr/local/bin/sfxload -The next device is the on-board IDE controller. You may enable it if you wish, -but it will not effect sound. + To enable AWE general midi synthesis you should also get the sound bank + file for general midi from: -Then WaveTable goes. For some reason Plug-n-Play detects only one I/O port, -but the wavetable needs THREE! My working string is: + http://members.xoom.com/yar/synthgm.sbk.gz -"(CONFIGURE CTL044/1132685 (LD 2 (IO 0 (BASE 0x0620)) (IO 1 (BASE 0x0A20)) -(IO 2 (BASE 0x0E20)) (ACT Y) ))" + Copy it to a directory of your choice, and unpack it there. -Resources 0x0620, 0x0A20 and 0x0E20 should work. Other on-board devices: -Gameport and StereoEnhance are not required to be initialized. +4) Edit /etc/modules.conf, and insert the following lines at the end of the + file: -Now you can execute "isapnp /etc/isapnp.conf". No errors should be reported. -If you correctly installed isapnptools, then isapnp will run every boot time. + alias sound-slot-0 sb + alias sound-service-0-1 awe_wave + post-install awe_wave /usr/local/bin/sfxload PATH_TO_SOUND_BANK_FILE -5) Now you should recompile the kernel. + You will of course have to change "PATH_TO_SOUND_BANK_FILE" to the full + path of of the sound bank file. That will enable the Sound Blaster and AWE + wave synthesis. To play midi files you should get one of these programs if + you don't already have them: -In "make (x,menu)config" select in "Sound": -"Sound card support", "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support", -"Generic OPL2/OPL3 FM synthesizer support" and "FM synthesizer (YM3812/OPL-3) -support" as <M> (module). + Playmidi: http://playmidi.openprojects.net -In "make (x,menu)config" select in "Sound": -select "OSS sound modules" as <M> (module) -select "AWE32 Synth" as <M> (module) + AWEMidi Player (drvmidi) Included in the previously mentioned AWE + snapshot. -Now recompile the kernel (make dep; make (b)zImage, b(z)lilo, etc...; -make modules; make modules_install), update your boot loader (if required) and -boot new kernel. + You will probably have to pass the "-e" switch to playmidi to have it use + your midi device. drvmidi should work without switches. -6) If awesfx program is not included in your distribution, then download it -from http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/index.html#Latest. -Compile it. Copy sfxload program to /usr/bin. To enable AWE general midi -synthesis you should also get the sound bank file for general midi from -http://members.xoom.com/yar/synthgm.sbk.gz. Copy it to /usr and gunzip it there. + If something goes wrong please e-mail me. All comments and suggestions are + welcome. -7) Edit /etc/modules.conf, inserting at the end of the file: + Yaroslav Rosomakho (alons55@dialup.ptt.ru) + http://www.yar.opennet.ru -alias midi awe_wave -post-install awe_wave /usr/bin/sfxload /usr/synthfm.sbk - -That will enable the Sound Blaster and AWE wave synthesis. - -To play midi files you should get one of these programs: - -Playmidi 2.4 or higher: http://playmidi.openprojects.net -Drvmidi: http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/index.html#Latest - -(These are available at all major Linux FTP sites and may already be - in your distribution) -Remember to use -a switch if you have playmidi as a compiled binary (ex. RPM) - -If something goes wrong please e-mail me. All comments and suggestions are -welcome. - - Yaroslav Rosomakho (alons55@dialup.ptt.ru) - http://www.yar.opennet.ru - -Last Updated: 10Apr2000 +Last Updated: Feb 3 2001 diff --git a/Documentation/sound/Introduction b/Documentation/sound/Introduction index 289e03c7e..0b7fdc959 100644 --- a/Documentation/sound/Introduction +++ b/Documentation/sound/Introduction @@ -1,15 +1,19 @@ Introduction Notes on Modular Sound Drivers and Soundcore Wade Hampton -6/30/1999 +2/14/2001 Purpose: ======== This document provides some general notes on the modular sound drivers and their configuration, along with the -support modules sound.o, soundlow.o and soundcore.o. +support modules sound.o and soundcore.o. Note, some of this probably should be added to the Sound-HOWTO! +Note, soundlow.o was present with 2.2 kernels but is not +required for 2.4.x kernels. References have been removed +to this. + Copying: ======== @@ -28,6 +32,8 @@ History: 1.1.1 19991031 Added notes on sound-slot- and sound-service. (Alan Cox) 1.1.2 20000920 Modified for Kernel 2.4 (Christoph Hellwig) +1.1.3 20010214 Minor notes and corrections (Wade Hampton) + Added examples of sound-slot-0, etc. Modular Sound Drivers: @@ -69,8 +75,9 @@ Notes: 1. There is a new OpenSource sound driver called ALSA which is currently under development: http://www.alsa-project.org/ - I have not tried it nor am I aware of its status, but it is - currently under development. + The ALSA drivers support some newer hardware that may not + be supported by this sound driver and also provide some + additional features. 2. The commercial OSS driver may be obtained from the site: http://www/opensound.com. This may be used for cards that @@ -82,7 +89,8 @@ Notes: some of the requirements for multiple sound card systems. For more information, see: http://www.tux.org/~ricdude/EsounD.html The "esd" program may be used with the real-player and mpeg - players like mpg123 and x11amp. + players like mpg123 and x11amp. The newer real-player + and some games even include built-in support for ESD! Building the Modules: @@ -104,13 +112,31 @@ the README takes precedence. 4. Select your sound driver(s) as a module. For ProAudio, Sound Blaster, etc., select M (module) for OSS sound modules. - [thanks to marvin stodolsky <stodolsk@erols.com>]A + [thanks to Marvin Stodolsky <stodolsk@erols.com>]A 5. Make the kernel (e.g., make dep ; make bzImage), and install the kernel. 6. Make the modules and install them (make modules; make modules_install). +Note, for 2.4.x kernels, make sure you have the newer modutils +loaded or modules will not be loaded properly. 2.4.x changed the +layout of /lib/modules/2.4.x and requires an updated modutils. + + +Plug and Play (PnP: +=================== + +If the sound card is an ISA PnP card, isapnp may be used +to configure the card. See the file isapnp.txt in the +directory one level up (e.g., /usr/src/linux/Documentation). + +Also the 2.4.x kernels provide PnP capabilities, see the +file NEWS in this directory. + +PCI sound cards are highly recommended, as they are far +easier to configure and from what I have read, they use +less resources and are more CPU efficient. INSMOD: @@ -129,7 +155,6 @@ SB_MPU=0x300 # echo Starting sound /sbin/insmod soundcore -/sbin/insmod soundlow /sbin/insmod sound # echo Starting sound blaster.... @@ -160,6 +185,10 @@ Sound Status: The status of sound may be read/checked by: cat (anyfile).au >/dev/audio +[WWH: This may not work properly for SoundBlaster PCI 128 cards +such as the es1370/1 (see the es1370/1 files in this directory) +as they do not automatically support uLaw on /dev/audio.] + The status of the modules and which modules depend on which other modules may be checked by: /sbin/lsmod @@ -168,7 +197,6 @@ which other modules may be checked by: sb 26280 0 uart401 5640 0 [sb] sound 57112 0 [sb uart401] - soundlow 208 0 [sound] soundcore 1968 8 [sb sound] @@ -186,7 +214,6 @@ in the reverse order in which I loaded the modules): /sbin/rmmod sb /sbin/rmmod uart401 /sbin/rmmod sound -/sbin/rmmod soundlow /sbin/rmmod soundcore When using sound as a module, I typically put these commands @@ -217,7 +244,8 @@ are some great applications like multitrack that support them. Typically, you need two sound cards of different types. Note, this uses more precious interrupts and DMA channels and sometimes can be a configuration nightmare. I have heard reports of 3-4 -sound cards (typically I only use 2). +sound cards (typically I only use 2). You can sometimes use +multiple PCI sound cards of the same type. On my machine I have two sound cards (cs4232 and Soundblaster Vibra 16). By loading sound as modules, I can control which is the first @@ -236,7 +264,7 @@ twice, you need to do the following: 1. Copy the sound modules to a new name. For example sb.o could be copied (or symlinked) to sb1.o for the - second SoundBlasster. + second SoundBlaster. 2. Make a second entry in /etc/modules.conf, for example, sound1 or sb1. This second entry should refer to the @@ -257,6 +285,7 @@ NOTE: In Linux 2.4 the Sound Blaster driver (and only this one yet) supports multiple cards with one module by default. Read the file 'Soundblaster' in this directory for details. + Sound Problems: =============== @@ -314,7 +343,6 @@ in the Sound-HOWTO). esddsp <program> may be used to play files via a non-esd aware program. - 6) Ask for help on the sound list or send E-MAIL to the sound driver author/maintainer. @@ -327,6 +355,9 @@ in the Sound-HOWTO). This makes the sound system allocate its buffers and hang onto them. + You may also set persistent DMA when building a 2.4.x kernel. + + Configuring Sound: ================== @@ -354,10 +385,11 @@ And I am sure, several other ways. Anyone want to write a linuxconf module for configuring sound? + Module Loading: =============== -When a sound card is first referenced and sound is modular the sound system +When a sound card is first referenced and sound is modular, the sound system will ask for the sound devices to be loaded. Initially it requests that the driver for the sound system is loaded. It then will ask for sound-slot-0, where 0 is the first sound card. (sound-slot-1 the second and @@ -370,11 +402,32 @@ the desired device - for example a soundblaster does not directly provide a midi synth in all cases then it will request "sound-service-0-n" where n is -0 Mixer + 0 Mixer + + 2 MIDI + + 3, 4 DSP audio + -2 MIDI +For example, I use the following to load my Soundblaster PCI 128 +(ES 1371) card first, followed by my SoundBlaster Vibra 16 card, +then by my TV card: -3, 4 DSP audio +# Load the Soundblaster PCI 128 as /dev/dsp, /dev/dsp1, /dev/mixer +alias sound-slot-0 es1371 + +# Load the Soundblaster Vibra 16 as /dev/dsp2, /dev/mixer1 +alias sound-slot-1 sb +options sb io=0x240 irq=5 dma=1 dma16=5 mpu_io=0x330 + +# Load the BTTV (TV card) as /dev/mixer2 +alias sound-slot-2 bttv +alias sound-service-2-0 tvmixer + +pre-install bttv modprobe tuner ; modprobe tvmixer +pre-install tvmixer modprobe msp3400; modprobe tvaudio +options tuner debug=0 type=8 +options bttv card=0 radio=0 pll=0 For More Information (RTFM): @@ -405,3 +458,4 @@ For More Information (RTFM): Contact Information: ==================== Wade Hampton: (whampton@staffnet.com) + diff --git a/Documentation/sound/Maestro3 b/Documentation/sound/Maestro3 new file mode 100644 index 000000000..ce6cf791c --- /dev/null +++ b/Documentation/sound/Maestro3 @@ -0,0 +1,84 @@ + An OSS/Lite Driver for the ESS Maestro3 family of sound chips + + Zach Brown, January 2001 + +Driver Status and Availability +------------------------------ + +The most recent version of this driver will hopefully always be available at + http://www.zabbo.net/maestro3/ + +I will try and maintain the most recent stable version of the driver +in both the stable and development kernel lines. + +Historically I've sucked pretty hard at actually doing that, however. + +ESS Maestro3 Chip Family +----------------------- + +The 'Maestro3' is much like the Maestro2 chip. The noted improvement +is the removal of the silicon in the '2' that did PCM mixing. All that +work is now done through a custom DSP called the ASSP, the Asynchronus +Specific Signal Processor. + +The 'Allegro' is a baby version of the Maestro3. I'm not entirely clear +on the extent of the differences, but the driver supports them both :) + +The 'Allegro' shows up as PCI ID 0x1988 and the Maestro3 as 0x1998, +both under ESS's vendor ID of 0x125D. The Maestro3 can also show up as +0x199a when hardware strapping is used. + +The chip can also act as a multi function device. The modem IDs follow +the audio multimedia device IDs. (so the modem part of an Allegro shows +up as 0x1989) + +Driver OSS Behavior +-------------------- + +This OSS driver exports /dev/mixer and /dev/dsp to applications, which +mostly adhere to the OSS spec. This driver doesn't register itself +with /dev/sndstat, so don't expect information to appear there. + +The /dev/dsp device exported behaves as expected. Playback is +supported in all the various lovely formats. 8/16bit stereo/mono from +8khz to 48khz, with both read()/write(), and mmap(). + +/dev/mixer is an interface to the AC'97 codec on the Maestro3. It is +worth noting that there are a variety of AC'97s that can be wired to +the Maestro3. Which is used is entirely up to the hardware implementor. +This should only be visible to the user by the presence, or lack, of +'Bass' and 'Treble' sliders in the mixer. Not all AC'97s have them. +The Allegro has an onchip AC'97. + +The driver doesn't support MIDI or FM playback at the moment. + +Compiling and Installing +------------------------ + +With the drivers inclusion into the kernel, compiling and installing +is the same as most OSS/Lite modular sound drivers. Compilation +of the driver is enabled through the CONFIG_SOUND_MAESTRO3 variable +in the config system. + +It may be modular or statically linked. If it is modular it should be +installed with the rest of the modules for the kernel on the system. +Typically this will be in /lib/modules/ somewhere. 'alias sound-slot-0 +maestro3' should also be added to your module configs (typically +/etc/modules.conf) if you're using modular OSS/Lite sound and want to +default to using a maestro3 chip. + +There are very few options to the driver. One is 'debug' which will +tell the driver to print minimal debugging information as it runs. This +can be collected with 'dmesg' or through the klogd daemon. + +The other is 'external_amp', which tells the driver to attempt to enable +an external amplifier. This defaults to '1', you can tell the driver +not to bother enabling such an amplifier by setting it to '0'. + +Power Management +---------------- + +This driver has a minimal understanding of PCI Power Management. It will +try and power down the chip when the system is suspended, and power +it up with it is resumed. It will also try and power down the chip +when the machine is shut down. diff --git a/Documentation/sound/NM256 b/Documentation/sound/NM256 index 7e66a3009..b50321748 100644 --- a/Documentation/sound/NM256 +++ b/Documentation/sound/NM256 @@ -53,7 +53,7 @@ or CS4232-compatible codec/mixer; you will want to use the appropriate compatible OSS driver with these chipsets. I cannot provide any assistance with machines using the SB16, AD1848 or CS4232 compatible versions. (The driver now attempts to detect the mixer version, and -will refuse to load if it believes the hardware is not not +will refuse to load if it believes the hardware is not AC97-compatible.) The sound support is very basic, but it does include simultaneous diff --git a/Documentation/sound/OPL3-SA2 b/Documentation/sound/OPL3-SA2 index d43ba0475..83f9cee2f 100644 --- a/Documentation/sound/OPL3-SA2 +++ b/Documentation/sound/OPL3-SA2 @@ -2,22 +2,26 @@ Documentation for the OPL3-SA2, SA3, and SAx driver (opl3sa2.o) --------------------------------------------------------------- Scott Murray, scott@spiteful.org -January 5, 1999 +January 7, 2001 NOTE: All trade-marked terms mentioned below are properties of their respective owners. + +Supported Devices +----------------- + This driver is for PnP soundcards based on the following Yamaha audio controller chipsets: YMF711 aka OPL3-SA2 -YMF715 aka OPL3-SA3 -YMF719 aka OPL3-SAx (?) +YMF715 and YMF719 aka OPL3-SA3 -I'm a little fuzzy on what exactly is classified a SAx, as I've seen -the label used to refer to the whole 7xx family and as a specific -identifier for the 719 on my no-name soundcard. To make matters -worse, there seem to be several revisions of the 715 chipset. +Up until recently (December 2000), I'd thought the 719 to be a +different chipset, the OPL3-SAx. After an email exhange with +Yamaha, however, it turns out that the 719 is just a re-badged +715, and the chipsets are identical. The chipset detection code +has been updated to refkect this. Anyways, all of these chipsets implement the following devices: @@ -31,75 +35,142 @@ chipsets enforce an either/or situation with the Soundblaster Pro device and the MSS device. Since the MSS device has better capabilities, I have implemented the driver to use it. -Being PnP cards, some configuration is required. There are two ways -of doing this. The most common is to use the isapnptools package to -initialize the card, and use the kernel module form of the sound -subsystem and sound drivers. Alternatively, some BIOS's allow manual -configuration of installed PnP devices in a BIOS menu, which should -allow using the non-modular sound drivers, i.e. built into the kernel. + +Mixer Channels +-------------- + +Older versions of this driver (pre-December 2000) had two mixers, +an OPL3-SA2 or SA3 mixer and a MSS mixer. The OPL3-SA[23] mixer +device contained a superset of mixer channels consisting of its own +channels and all of the MSS mixer channels. To simplify the driver +considerably, and to partition functionality better, the OPL3-SA[23] +mixer device now contains has its own specific mixer channels. They +are: + +Volume - Hardware master volume control +Bass - SA3 only, now supports left and right channels +Treble - SA3 only, now supports left and right channels +Microphone - Hardware microphone input volume control +Digital1 - Yamaha 3D enhancement "Wide" mixer + +All other mixer channels (e.g. "PCM", "CD", etc.) now have to be +controlled via the "MS Sound System (CS4231)" mixer. To facilitate +this, the mixer device creation order has been switched so that +the MSS mixer is created first. This allows accessing the majority +of the useful mixer channels even via single mixer-aware tools +such as "aumix". + + +Plug 'n Play +------------ + +In previous kernels (2.2.x), some configuration was required to +get the driver to talk to the card. Being the new millenium and +all, the 2.4.x kernels now support auto-configuration if ISA PnP +support is configured in. Theoretically, the driver even supports +having more than one card in this case. + +With the addition of PnP support to the driver, two new parameters +have been added to control it: + +isapnp - set to 0 to disable ISA PnP card detection + +multiple - set to 0 to disable multiple PnP card detection + + +Optional Parameters +------------------- + +Recent (December 2000) additions to the driver (based on a patch +provided by Peter Englmaier) are two new parameters: + +ymode - Set Yamaha 3D enhancement mode: + 0 = Desktop/Normal 5-12 cm speakers + 1 = Notebook PC (1) 3 cm speakers + 2 = Notebook PC (2) 1.5 cm speakers + 3 = Hi-Fi 16-38 cm speakers + +loopback - Set A/D input source. Useful for echo cancellation: + 0 = Mic Right channel (default) + 1 = Mono output loopback + +The ymode parameter has been tested and does work. The loopback +parameter, however, is untested. Any feedback on its usefulness +would be appreciated. + + +Manual Configuration +-------------------- + +If for some reason you decide not to compile ISA PnP support into +your kernel, or disabled the driver's usage of it by setting the +isapnp parameter as discussed above, then you will need to do some +manual configuration. There are two ways of doing this. The most +common is to use the isapnptools package to initialize the card, and +use the kernel module form of the sound subsystem and sound drivers. +Alternatively, some BIOS's allow manual configuration of installed +PnP devices in a BIOS menu, which should allow using the non-modular +sound drivers, i.e. built into the kernel. I personally use isapnp and modules, and do not have access to a PnP -BIOS machine to test. If you have such a beast, try building both the -MSS driver and this driver into the kernel (appropriately configured, -of course). I have received reports of this working, so it should be -possible for most people with PnP BIOS. If it does not work for you, -then email me if you are willing to experiment in an effort to make it -work. - -************************************************************************ -* I have now had two such machines, and I have fixed this to work -* properly when built into the kernel. The Toshiba Libretto series, or -* at least models 70CT and 110CT which I have owned, use a Yamaha -* OPL3-SAx (OPL3-SA3 according to documentation) sound chip, IRQ 5, -* IO addresses 220/530/388/330/370 and DMA 1,0 (_not_ 0,1). All these -* configuration settings can be gathered by booting another OS which -* recognizes the card already. -* -* I have made things 'just work' for the non-modular case on such -* machines when configured properly. -* -* David Luyer <luyer@ucs.uwa.edu.au> -************************************************************************ - -If you are using isapnp, follow the directions in its documentation to -produce a configuration file. Here is the relevant excerpt I use for -my SAx card from my isapnp.conf: +BIOS machine to test. If you have such a beast, configuring the +driver to be built into the kernel should just work (thanks to work +done by David Luyer <luyer@ucs.uwa.edu.au>). You will still need +to specify settings, which can be done by adding: + +opl3sa2=<io>,<irq>,<dma>,<dma2>,<mssio>,<mpuio> + +to the kernel command line. For example: + +opl3sa2=0x370,5,0,1,0x530,0x330 + +If you are instead using the isapnp tools (as most people have been +before Linux 2.4.x), follow the directions in their documentation to +produce a configuration file. Here is the relevant excerpt I used to +use for my SA3 card from my isapnp.conf: (CONFIGURE YMH0800/-1 (LD 0 -# Instead of (IO 0 (BASE 0x0220)), disable SB: -(IO 0 (BASE 0x0000)) +# NOTE: IO 0 is for the unused SoundBlaster part of the chipset. +(IO 0 (BASE 0x0220)) (IO 1 (BASE 0x0530)) (IO 2 (BASE 0x0388)) (IO 3 (BASE 0x0330)) (IO 4 (BASE 0x0370)) -(INT 0 (IRQ 7 (MODE +E))) +(INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 0)) -(DMA 1 (CHANNEL 3)) +(DMA 1 (CHANNEL 1)) Here, note that: Port Acceptable Range Purpose ---- ---------------- ------- -IO 0 0x0220 - 0x0280 SB base address, I set to 0 just to be safe. +IO 0 0x0220 - 0x0280 SB base address, unused. IO 1 0x0530 - 0x0F48 MSS base address IO 2 0x0388 - 0x03F8 OPL3 base address IO 3 0x0300 - 0x0334 MPU base address IO 4 0x0100 - 0x0FFE card's own base address for its control I/O ports -The IRQ and DMA values can be any that considered acceptable for a +The IRQ and DMA values can be any that are considered acceptable for a MSS. Assuming you've got isapnp all happy, then you should be able to do something like the following (which matches up with the isapnp configuration above): -insmod mpu401 -insmod ad1848 -insmod opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=7 dma=0 dma2=3 -insmod opl3 io=0x388 +modprobe mpu401 +modprobe ad1848 +modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=0 dma2=1 +modprobe opl3 io=0x388 + +See the section "Automatic Module Loading" below for how to set up +/etc/modules.conf to automate this. -Remember that the opl3sa2 module's io argument is for it's own control -port, which handles the card's master mixer for volume (on all cards), -and bass and treble (on SA3 and SAx cards). +An important thing to remember that the opl3sa2 module's io argument is +for it's own control port, which handles the card's master mixer for +volume (on all cards), and bass and treble (on SA3 cards). + + +Troubleshooting +--------------- If all goes well and you see no error messages, you should be able to start using the sound capabilities of your system. If you get an @@ -112,29 +183,27 @@ butting heads with another device. If you still cannot get the module to load, look at the contents of your system log file, usually /var/log/messages. If you see the -message "Unknown Yamaha audio controller version", then you have a -different chipset than I've encountered so far. Look for a line in -the log file that says "opl3sa2.c: chipset version = <some number>". -If you want me to add support for your card, send me the number from -this line and any information you have on the make and chipset of your -sound card, and I should be able to work up a permanent fix. +message "opl3sa2: Unknown Yamaha audio controller version", then you +have a different chipset version than I've encountered so far. Look +for all messages in the log file that start with "opl3sa2: " and see +if they provide any clues. If you do not see the chipset version +message, and none of the other messages present in the system log are +helpful, email me some details and I'll try my best to help. + -If you do not see the chipset version message, and none of the other -messages present in the system log are helpful, email me some details -and I'll try my best to help. +Automatic Module Loading +------------------------ Lastly, if you're using modules and want to set up automatic module loading with kmod, the kernel module loader, here is the section I currently use in my modules.conf file: # Sound -alias char-major-14 opl3sa2 -pre-install opl3sa2 modprobe "-k" "ad1848" -post-install opl3sa2 modprobe "-k" "opl3" +alias sound-slot-0 opl3sa2 options opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=7 dma=0 dma2=3 options opl3 io=0x388 -That's all it currently takes to get an OPL3-SAx card working on my +That's all it currently takes to get an OPL3-SA3 card working on my system. Once again, if you have any other problems, email me at the address listed above. diff --git a/Documentation/sound/via82cxxx.txt b/Documentation/sound/via82cxxx.txt deleted file mode 100644 index bfaf99b64..000000000 --- a/Documentation/sound/via82cxxx.txt +++ /dev/null @@ -1,176 +0,0 @@ - Via motherboard audio driver - Copyright 1999,2000 Jeff Garzik <jgarzik@mandrakesoft.com> - -Driver software and documentation distributed under the GNU GENERAL -PUBLIC LICENSE (GPL) Version 2. See the "COPYING" file distributed with -this software for more info. - - - -Introduction ------------------------------------------------------------------------- -The via82cxxx audio driver found in the drivers/sound directory -of the kernel source tree is a PCI audio driver for audio chips -found on Via-based motherboards, such as the MVP4. - -Currently the driver exports the following features: - - * /dev/dsp and /dev/audio support - * 16-bit stereo PCM output channel - * AC97 mixer - -Please send bug reports to the mailing list linux-via@gtf.org. -To subscribe, e-mail majordomo@gtf.org with "subscribe linux-via" in the -body of the message. - - -Thanks ------------------------------------------------------------------------- -Via for providing e-mail support, specs, and NDA'd source code. - -MandrakeSoft for providing hacking time. - -AC97 mixer interface fixes and debugging by Ron Cemer <roncemer@gte.net> - - - -Installation ------------------------------------------------------------------------- -If the driver is being statically compiled into the kernel, no -configuration should be necessary. - -If the driver is being compiled as a module, generally one line must -be added to your /etc/conf.modules (or /etc/modules.conf) file: - - alias sound via82cxxx_audio - - - -Driver notes ------------------------------------------------------------------------- -Two /proc pseudo-files provide diagnostic information. This is generally -not useful to most users. Power users can disable VIA_PROC_FS macro in the -driver source code, and remove the /proc support code. In any case, once -version 2.0.0 is released, the /proc support code will be disabled by -default. Available /proc pseudo-files: - - /proc/driver/via/0/info - /proc/driver/via/0/ac97 - -This driver by default supports all PCI audio devices which report -a vendor id of 0x1106, and a device id of 0x3058. Subsystem vendor -and device ids are not examined. - -Only supports a single sound chip, as this is a motherboard chipset. -Some architecture remains for multiple cards, feel free to submit -a patch to clean some of that up. Ideally, - -No consideration for SMP, this chipset is not known to be found on -any SMP motherboards. However, spin_locks must be used anyway in order -to handle interrupts correctly. - -GNU indent formatting options: -kr -i8 -pcs - - - -Tested Hardware ------------------------------------------------------------------------- -The following is an _incomplete_ list of motherboards supported by this -audio driver. If your motherboard (or notebook) is not listed here, -please e-mail the maintainer with details. - - AOpen MX59 Pro - Compaq Presario 1247 - - - -Random Developer Notes / Comments ------------------------------------------------------------------------- -Via has graciously donated e-mail support and source code to help further -the development of this driver. Their assistance has been invaluable -in the design and coding of the next major version of this driver. - -The Via audio chip apparently provides a second PCM scatter-gather -DMA channel just for FM data, but does not have a full hardware MIDI -processor. I haven't put much thought towards a solution here, but it -might involve using SoftOSS midi wave table, or simply disabling MIDI -support altogether and using the FM PCM channel as a second (input? output?) - - - -General To-do List (patches/suggestions welcome) ------------------------------------------------------------------------- -Recording support - -mmap support - -Other advanced ioctls - -Better docs - -Code review - -Native MIDI driver, as described above - - - -Known bugs (patches/suggestions welcome) ------------------------------------------------------------------------- -1) Volume too low on many systems. Workaround: use mixer program -such as xmixer to increase volume. - -2) RealPlayer output very scratchy. Workaround: use esd, and -configure RealPlayer to output to esd. - -3) Applications which attempt to open the sound device in read/write -mode (O_RDWR) will fail. This is incorrect OSS behavior, but since -this driver will eventually support recording as well as playback, -we will be able to (in the future) support even broken programs which -unconditionally use O_RDWR. - - - -Submitting a bug report ------------------------------------------------------------------------- -Describe the application you were using to play/record sound, and how -to reproduce the problem. - -Obtain the via-audio-diag diagnostics program from -http://gtf.org/garzik/drivers/via82cxxx/ and provide a dump of the -audio chip's registers while the problem is occurring. Sample command line: - ./via-audio-diag -aps > diag-output.txt - -Define "VIA_DEBUG" at the beginning of the driver, then capture and email -the kernel log output. This can be viewed in the system kernel log (if -enabled), or via the 'dmesg' program. - -If you wish to increase the size of the buffer displayed by 'dmesg', then -change the LOG_BUF_LEN macro at the top of linux/kernel/printk.c, recompile -your kernel, and pass the "-s <size>" option to 'dmesg'. - - - -Change history ------------------------------------------------------------------------- -Version 1.1.7: -* Fix module unload bug where mixer device left registered - after driver exit - -Version 1.1.6: -* Rewrite via_set_rate to mimic ALSA basic AC97 rate setting -* Remove much dead code -* Complete spin_lock_irqsave -> spin_lock_irq conversion in via_dsp_ioctl -* Fix build problem in via_dsp_ioctl -* Optimize included headers to eliminate headers found in linux/drivers/sound - -Version 1.1.5: -* Disable some overly-verbose debugging code -* Remove unnecessary sound locks -* Fix some ioctls for better time resolution -* Begin spin_lock_irqsave -> spin_lock_irq conversion in via_dsp_ioctl - -Version 1.1.4: -* Completed rewrite of driver. Eliminated SoundBlaster compatibility - completely, and now uses the much-faster scatter-gather DMA engine. - - diff --git a/Documentation/usb/uhci.txt b/Documentation/usb/uhci.txt index 13ed3a96c..2f25952c8 100644 --- a/Documentation/usb/uhci.txt +++ b/Documentation/usb/uhci.txt @@ -33,7 +33,7 @@ days (and nights) on the 16th and 17th of October 1999, now known as the great USB-October-Revolution started by GA, DF, and TS ;-) Since the concept is in no way UHCI dependent, we hope that it will also be -transfered to the OHCI-driver, so both drivers share a common API. +transferred to the OHCI-driver, so both drivers share a common API. 1.2. Advantages and disadvantages diff --git a/Documentation/usb/usb-serial.txt b/Documentation/usb/usb-serial.txt index e1371097b..f69a98a2a 100644 --- a/Documentation/usb/usb-serial.txt +++ b/Documentation/usb/usb-serial.txt @@ -73,6 +73,11 @@ Current status: the port to use for the HotSync transfer. The "Generic" port can be used for other device communication, such as a PPP link. + If after pressing the sync button, nothing shows up in the system log, + try resetting the Visor, first a hot reset, and then a cold reset if + necessary. Some Visors need this before they can talk to the USB port + properly. + There is a webpage and mailing lists for this portion of the driver at: http://usbvisor.sourceforge.net/ @@ -103,22 +108,22 @@ Current status: Keyspan USA-series Serial Adapters - Single and Dual port adapters - driver uses Keyspan supplied + Single, Dual and Quad port adapters - driver uses Keyspan supplied firmware and is being developed with their support. - Driver isn't as far advanced as Keyspan PDA driver mentioned above. - Current status: - Things that work: - Firmware upload for USA-18X, USA-28, USA-28X, USA-19 and USA-19W - Simple character I/O fixed at 9600 baud on USA-19 only - - Things that don't: - Everything else. (for now...) + The USA-18X, USA-28X, USA-19, USA-19W and USA-49W are supported and + have been pretty throughly tested at various baud rates with 8-N-1 + character settings. Other character lengths and parity setups are + presently untested. + + The USA-28 isn't yet supported though doing so should be pretty + straightforward. Contact the maintainer if you require this + functionality. + + More information is available at: + http://www.linuxcare.com.au/hugh/keyspan.html - Big Things on the todo list: - Driver is in infancy, much functionality remains to be added - FTDI Single Port Serial Driver @@ -157,6 +162,7 @@ Digi AccelePort Driver Belkin USB Serial Adapter F5U103 Single port DB-9/PS-2 serial adapter from Belkin with firmware by eTEK Labs. + The Peracom single port serial adapter also works with this driver. Current status: The following have been tested and work: @@ -211,6 +217,11 @@ MCT USB Single Port Serial Adapter U232 testing. It is derived from the Belkin USB Serial Adapter F5U103 driver and its TODO list is valid for this driver as well. + This driver has also been found to work for other products, which have + the same Vendor ID but different Product IDs. Sitecom's U232-P25 + serial converter uses Product ID 0x230 and Vendor ID 0x711 and works with + this driver. Also, D-Link's DU-H3SP USB BAY also works with this driver. + Generic Serial driver diff --git a/Documentation/video4linux/bttv/CARDLIST b/Documentation/video4linux/bttv/CARDLIST index f513ebb48..ee51e9fe3 100644 --- a/Documentation/video4linux/bttv/CARDLIST +++ b/Documentation/video4linux/bttv/CARDLIST @@ -38,36 +38,50 @@ bttv.o card=36 - Typhoon TView TV/FM Tuner card=37 - PixelView PlayTV pro card=38 - TView99 CPH063 - card=39 - Pinnacle PCTV Rave + card=39 - Pinnacle PCTV Studio/Rave card=40 - STB2 card=41 - AVerMedia TVPhone 98 card=42 - ProVideo PV951 card=43 - Little OnAir TV card=44 - Sigma TVII-FM card=45 - MATRIX-Vision MV-Delta 2 - card=46 - Zoltrix Genie TV + card=46 - Zoltrix Genie TV/FM card=47 - Terratec TV/Radio+ card=48 - Dynalink Magic TView card=49 - GV-BCTV3 card=50 - Prolink PV-BT878P+4E (PixelView PlayTV PAK) card=51 - Eagle Wireless Capricorn2 (bt878A) - card=52 - Pinnacle Studio PCTV Pro - card=53 - Typhoon TView RDS + card=52 - Pinnacle PCTV Studio Pro + card=53 - Typhoon TView RDS / FM Stereo + card=54 - Livetec 9415 TV + card=55 - BESTBUY Easy TV + card=56 - FlyVideo '98/FM + card=57 - GrandTec 'Grand Video Capture' + card=58 - Phoebe TV Master Only (No FM) tuner.o - type=0 - Temic PAL + type=0 - Temic PAL (4002 FH5) type=1 - Philips PAL_I type=2 - Philips NTSC type=3 - Philips SECAM type=4 - NoTuner type=5 - Philips PAL - type=6 - Temic NTSC - type=7 - Temic PAL_I - type=8 - Temic 4036 FY5 NTSC + type=6 - Temic NTSC (4032 FY5) + type=7 - Temic PAL_I (4062 FY5) + type=8 - Temic NTSC (4036 FY5) type=9 - Alps HSBH1 type=10 - Alps TSBE1 type=11 - Alps TSBB5 type=12 - Alps TSBE5 type=13 - Alps TSBC5 - type=14 - Temic 4006FH5 + type=14 - Temic PAL_I (4006FH5) type=15 - Alps TSCH6 + type=16 - Temic PAL_DK (4016 FY5) + type=17 - Philips NTSC_M (MK2) + type=18 - Temic PAL_I (4066 FY5) + type=19 - Temic PAL* auto (4006 FN5) + type=20 - Temic PAL (4009 FR5) + type=21 - Temic NTSC (4039 FR5) + type=22 - Temic PAL/SECAM multi (4046 FM5) + type=23 - Philips PAL_DK + type=24 - Philips PAL/SECAM multi (FQ1216ME) diff --git a/Documentation/video4linux/bttv/Insmod-options b/Documentation/video4linux/bttv/Insmod-options index 97b87f674..a941406e8 100644 --- a/Documentation/video4linux/bttv/Insmod-options +++ b/Documentation/video4linux/bttv/Insmod-options @@ -30,6 +30,12 @@ bttv.o default is 2. gbufsize= size of capture buffers. default and maximum value is 0x208000 (~2MB) + no_overlay=0 Enable overlay on broken hardware. There + are some chipsets (SIS for example) which + are known to have problems with the PCI DMA + push used by bttv. bttv will disable overlay + by default on this hardware to avoid crashes. + With this insmod option you can override this. bttv_gpio=0/1 gpiomask= @@ -48,6 +54,8 @@ tuner.o debug=1 print some debug info to the syslog type=n type of the tuner chip. n as follows: see CARDLIST for a complete list. + pal=[bdgil] select PAL variant (used for some tuners + only, important for the audio carrier). tvmixer.o registers a mixer device for the TV card's volume/bass/treble diff --git a/Documentation/video4linux/bttv/README b/Documentation/video4linux/bttv/README index 4af739a5c..3070af143 100644 --- a/Documentation/video4linux/bttv/README +++ b/Documentation/video4linux/bttv/README @@ -16,9 +16,10 @@ newer than 2.3.34 have this already included. If you have a older kernel, download it from: http://www2.lm-sensors.nu/~lm78/download.html -You'll need at least these i2c config options for bttv: +You'll need at least these config options for bttv: CONFIG_I2C=m CONFIG_I2C_ALGOBIT=m +CONFIG_VIDEO_DEV=m The latest bttv version is available here: http://www.strusel007.de/linux/bttv/ @@ -50,12 +51,8 @@ in the kernel to get the videodev.o module which is required by bttv. Make bttv work with your card ----------------------------- -Of course you have to load the modules as very first thing. The -separate bttv bundle comes with a script called "update". I use this -one to load a new version while doing driver hacking. You can use it -too, but check the module arguments first. They work for my setup, -and probably do *not* for yours. Another way is to setup your -/etc/modules.conf file and let kmod load the modules. See also: +Setup your /etc/modules.conf file and let kmod load the modules. +See also: Modules.conf: some sample entries for /etc/modules.conf Insmod-options: list of all insmod options available for bttv and @@ -68,15 +65,45 @@ drivers for the i2c tuner/sound chips must also be loaded. bttv tries to load them automagically by calling request_module() now, but this obviously works only with kmod enabled. +If bttv takes very long to load (happens sometimes with the cheap +cards which have no tuner), try adding this to your modules.conf: + options i2c-algo-bit bit_test=1 + The most important insmod option for bttv is "card=n" to select the -correct card type. If you get video but no sound you've very likely -specified the wrong (or no) card type. A list of supported cards is -in CARDLIST. +correct card type in case the autodetection does'nt work. If you get +video but no sound you've very likely specified the wrong (or no) +card type. A list of supported cards is in CARDLIST. If your card isn't listed in CARDLIST or if you have trouble making audio work, you should read the Sound-FAQ. +Autodetecting cards +------------------- + +bttv uses the PCI Subsystem ID to autodetect the card type. lspci lists +the Subsystem ID in the second line, looks like this: + +00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 (rev 02) + Subsystem: Hauppauge computer works Inc. WinTV/GO + Flags: bus master, medium devsel, latency 32, IRQ 5 + Memory at e2000000 (32-bit, prefetchable) [size=4K] + +only bt878-based cards can have a subsystem ID (which does not mean +that every card really has one). bt848 cards can't have a Subsystem +ID and therefore can't be autodetected. There is a list with the ID's +in bttv-cards.c (in case you are intrested or want to mail patches +with updates). + +Old driver versions used to have a heuristic which could identify some +bt848-based cards. It worked for Hauppauge and Miro cards in most +cases (simply because these where the first cards available on the +market), but misdetected other bt848 cards. That code is gone now for +exactly this reason, the misdetection confused lots of people. If you +have a old Hauppauge or Miro card, you'll have to load the driver with +card=1 or card=2 these days. + + Still doesn't work? ------------------- @@ -87,10 +114,12 @@ If you have some knowledge and spare time, please try to fix this yourself (patches very welcome of course...) You know: The linux slogan is "Do it yourself". -There is a mailing list: video4linux-list@redhat.com. If you have -trouble with some specific TV card, try to ask there instead of -mailing me directly. The chance that someone with the same card -listens there is much higher... +There is a mailing list: video4linux-list@redhat.com. +https://listman.redhat.com/mailman/listinfo/video4linux-list + +If you have trouble with some specific TV card, try to ask there +instead of mailing me directly. The chance that someone with the +same card listens there is much higher... For problems with sound: There are alot of different systems used for TV sound all over the world. And there are also different chips diff --git a/Documentation/video4linux/bttv/Sound-FAQ b/Documentation/video4linux/bttv/Sound-FAQ index 64611f497..8a185e184 100644 --- a/Documentation/video4linux/bttv/Sound-FAQ +++ b/Documentation/video4linux/bttv/Sound-FAQ @@ -79,10 +79,12 @@ mux. What you have to do is figure out the correct values for gpiomask and the audiomux array. If you have Windows and the drivers four your card installed, you might to check out if you can read these registers -values used by the windows driver. A tool to do this is available -from ftp://telepresence.dmem.strath.ac.uk/pub/bt848/winutil (doesn't -work with bt878 boards according to some reports I received). You -might also dig around in the *.ini files of the Windows applications. +values used by the windows driver. A tool to do this is available from +ftp://telepresence.dmem.strath.ac.uk/pub/bt848/winutil, but it does'nt +work with bt878 boards according to some reports I received. Another +one is available from http://www.kki.net.pl/~borgx/bTV.html. + +You might also dig around in the *.ini files of the Windows applications. You can have a look at the board to see which of the gpio pins are connected at all and then start trial-and-error ... |