paul@cgh.uucp (Paul Homchick) (03/02/91)
Has anyone installed FAS 2.08 in AT&T System V/3.2.2 ? I thought I would try this, as I understand that the standard async driver does not support hardware cts/rts handshaking which I need for serial printer support. If I change the values in /etc/conf/sdevice.d/asy to 'N' for both ports, and change /etc/conf/sdevice.d/fas to 'Y', the link of the kernel fails with a number of missing symbols as follows... undefined first referenced symbol in file asyinit /etc/conf/pack.d/sysmsg/Driver.o asyputchar2 /etc/conf/pack.d/sysmsg/Driver.o asyputchar /etc/conf/pack.d/sysmsg/Driver.o asygetchar2 /etc/conf/pack.d/sysmsg/Driver.o asytab /etc/conf/pack.d/sysmsg/Driver.o num_asy /etc/conf/pack.d/sysmsg/Driver.o asyspdtab /etc/conf/pack.d/sysmsg/Driver.o Presumably, these are entry points in the asy driver to support the AT&T remote console features. One guess at a work-around would add a stub function for each of these symbols to the fas.c code. This would, of course, remove remote console support. However, I haven't yet tried this, as I have no idea how reliable of a kernel I would end up with, as it would contain a bunch of empty function calls. Another possibility, I suppose is to rename the fas functions. Yet another possibility is to keep the asy driver and assign it to com1, to supply the needed remoted console functions, and assign fas to com 2. Again, I am uncertain how to go about this. Is it sufficient to simply set the sdevice.d entries for asy to 'Y' 'N' and fas to 'N' 'Y'? Finally, in mdevice, there is already an existing line for a major device #4... asy Iocrwi iHct asy 0 3 1 2 -1 clone - Scio cln 0 4 1 1 -1 Can I remove this clone driver and let fas use MajDev #4, or should I leave it in and assign fas to Major Device #28 (which is the next free number)? And if I do assign it to #28, what else, if anything, must be changed? I know, I know, "so many questions." Still, any help would be kindly appreciated. --- Paul Homchick :UUCP {rutgers | uunet} !cbmvax!cgh!paul Chimitt Gilman Homchick, Inc. :Internet cgh!paul@dsi.com 259 Radnor-Chester Rd, Suite 140 :MCI PHOMCHICK Radnor, PA 19087-5299 :GEnie HOMCHICK
johnk@opel.COM (John Kennedy) (03/03/91)
In article <1483@cgh.UUCP> paul@cgh.uucp (Paul Homchick) writes: >Has anyone installed FAS 2.08 in AT&T System V/3.2.2 ? > Yes (6386/25, SVr3.2.2), and did run into the same issues as you. [description of undefined entry points deleted ...] I did leave the asy driver enabled for /dev/tty00 and used FAS (although 2.06) for additional devices. >Yet another possibility is to keep the asy driver and assign it to com1, >to supply the needed remoted console functions, and assign fas to com 2. >Again, I am uncertain how to go about this. Is it sufficient to simply >set the sdevice.d entries for asy to 'Y' 'N' and fas to 'N' 'Y'? see below I did leave the asy driver enabled for /dev/tty00 and used FAS (although 2.06) for additional devices. >Finally, in mdevice, there is already an existing line for a major >device #4... > >asy Iocrwi iHct asy 0 3 1 2 -1 >clone - Scio cln 0 4 1 1 -1 > >Can I remove this clone driver and let fas use MajDev #4, or should I >leave it in and assign fas to Major Device #28 (which is the next free >number)? Don't try to force major device numbers. Let the Installable drivers make the assignments. >And if I do assign it to #28, what else, if anything, must be changed? You won't have to know the major device. The "node" entry associates the device name with fas. Gory details of installation files follows. Hit 'n' key now if not interested. These are the setups that I used for fas installation. The "*.sav" files exist because ID will remove certain files from your working directory at installation time, particularly Driver.o and perhaps space.c. I keep a good copy of everything in the working directory under "*.sav" and generate a fresh on each make. First, the makefile: note that fas.h is copied to /usr/include/sys so that space.c will compile Makefile: __________ SHELL=/bin/sh INCLSYS=/usr/include/sys CONFNAME=fas LKCONFDIR=/etc/conf/pack.d/$(CONFNAME) DRIVER = Driver.o SPECIAL = System Master Node Init CONFSPECIAL = $(LKCONFDIR)/space.c CFLAGS = -O -I$(INCLSYS) install: @-/etc/conf/bin/idinstall -d fas 2>/dev/null @$(MAKE) $(DRIVER) @$(MAKE) $(SPECIAL) @$(MAKE) $(CONFSPECIAL) @/etc/conf/bin/idinstall -a fas /etc/conf/bin/idbuild /etc/conf/bin/idreboot remove: @-/etc/conf/bin/idinstall -d fas $(DRIVER): Driver.o.sav @cp Driver.o.sav Driver.o Driver.o.sav: fas.o cp fas.o Driver.o.sav $(CONFSPECIAL): space.c @cp space.c $(CONFSPECIAL) space.c: space.c.sav @cp space.c.sav space.c Master: Master.sav @cp Master.sav Master System: System.sav @cp System.sav System Node: Node.sav @cp Node.sav Node Init: Init.sav @cp Init.sav Init $(INCLSYS)/fas.h: fas.h cp fas.h $(INCLSYS)/fas.h clean: rm -f fas.o Driver.o Driver.o.sav clobber: clean _____________________ Next, the SPECIAL entries: Master, System, Node, and Init I happen to be using 4 devices (after the single asy device left there) Master.sav ________________ fas Iocrwi iHct fas 0 0 1 4 -1 ________________ Make these device addresses match your hardware. Mine is unusual and four ports on a card share the same interrupt. Edit your address and interrupt fields accordingly. System.sav ________________ fas Y 1 7 1 5 1a0 1a7 0 0 fas Y 1 7 1 30 1a8 1af 0 0 fas Y 1 7 1 31 1b0 1b7 0 0 fas Y 1 7 1 32 1b8 1bf 0 0 ________________ Node.sav ________________ fas tty0 c 48 fas ttyM0 c 208 fas tty1 c 49 fas ttyM1 c 209 fas tty2 c 50 fas ttyM2 c 210 fas tty3 c 51 fas ttyM3 c 211 ________________ ________________ Init.sav ________________ f0:2345:respawn:/etc/getty ttyM0 D2400 f1:2345:respawn:/etc/getty ttyM1 D2400 f2:2345:respawn:/etc/getty ttyM2 D2400 f3:2345:respawn:/etc/getty ttyM3 D2400 ________________ Of course, I have used different device names than the defaults suggested by the FAS documentation. The key, though, is that nowhere do I worry about the major device number. The fas driver does end up getting assigned a different major than the asy driver. The asy driver is left in place for one device and FAS does the rest. Good luck. John -- John Kennedy johnk@opel.COM Second Source, Inc. Annapolis, MD