From owner-freebsd-atm Sun Aug 1 4:29:35 1999 Delivered-To: freebsd-atm@freebsd.org Received: from aretha.informatik.uni-siegen.de (aretha.informatik.uni-siegen.de [141.99.92.8]) by hub.freebsd.org (Postfix) with ESMTP id 2FFD114CFD for ; Sun, 1 Aug 1999 04:29:31 -0700 (PDT) (envelope-from unger@informatik.uni-siegen.de) Received: (from unger@localhost) by aretha.informatik.uni-siegen.de (Mailhost) id NAA17424; Sun, 1 Aug 1999 13:29:19 +0200 (MET DST) Message-ID: <19990801132919.29576@aretha.informatik.uni-siegen.de> Date: Sun, 1 Aug 1999 13:29:19 +0200 From: Thomas Unger To: freebsd-atm@freebsd.org Cc: Thomas Unger Subject: Efficent card initialization problems Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.85e Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, it would be very nice if someone could help us with the following problem: We have three pools of machines interconnected by ATM: Digital UNIX, Linux and FreeBSD 3.2 via Cisco LS1010 switches. ATM works pretty good, but after a power cycle of a FreeBSD machine there seems to be a card initialization Problem: When I start ilmid it hammers the switch, LED is constantly on. ATM does not work. However, when I boot a different OS on this machine (Windows 98 or Linux with ATM support) and then reboot again to FreeBSD, ATM works fine. We are using this 'setup technique' for quite a while now, but this is not very satisfying. The cards we use are Efficient 2MB Server veresion, MMF. Any help including diagnostic suggestions are welcome. Thomas -- /*******************************************************\ * Thomas Unger * * Informatik Universitaet GH Siegen * * unger@informatik.uni-siegen.de * * http://www.informatik.uni-siegen.de/~unger/ * \*******************************************************/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Mon Aug 2 16:49:35 1999 Delivered-To: freebsd-atm@freebsd.org Received: from marcos.networkcs.com (marcos.networkcs.com [137.66.16.1]) by hub.freebsd.org (Postfix) with ESMTP id 223DF1501E for ; Mon, 2 Aug 1999 16:49:18 -0700 (PDT) (envelope-from mks@us.networkcs.com) Received: from us.networkcs.com (us.networkcs.com [137.66.11.15]) by marcos.networkcs.com (8.9.0.Beta5/8.9.0.Beta5) with ESMTP id SAA28189; Mon, 2 Aug 1999 18:48:53 -0500 (CDT) Received: (from mks@localhost) by us.networkcs.com (8.9.2/8.8.7) id SAA69122; Mon, 2 Aug 1999 18:48:47 -0500 (CDT) From: Mike Spengler Message-Id: <199908022348.SAA69122@us.networkcs.com> Subject: Re: Efficent card initialization problems In-Reply-To: <19990801132919.29576@aretha.informatik.uni-siegen.de> from Thomas Unger at "Aug 1, 99 01:29:19 pm" To: unger@informatik.uni-siegen.de (Thomas Unger) Date: Mon, 2 Aug 1999 18:48:47 -0500 (CDT) Cc: freebsd-atm@FreeBSD.ORG, unger@aretha.informatik.uni-siegen.de X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Thomas, > > We have three pools of machines interconnected by ATM: Digital UNIX, > Linux and FreeBSD 3.2 via Cisco LS1010 switches. > > ATM works pretty good, but after a power cycle of a FreeBSD machine > there seems to be a card initialization Problem: > > When I start ilmid it hammers the switch, LED is constantly on. > ATM does not work. However, when I boot a different OS on this > machine (Windows 98 or Linux with ATM support) and then reboot > again to FreeBSD, ATM works fine. > We are using this 'setup technique' for quite a while now, > but this is not very satisfying. > The cards we use are Efficient 2MB Server veresion, MMF. > > Any help including diagnostic suggestions are welcome. > I assume that since you're using ilmid, that you are using the hea driver for your Efficient card and that you're using the uni30/uni31 signalling manager? Please try the following and send me the output. I'm guessing there's some miscommunication between ilmid and the cisco's ilmi process. Before you start ilmid (but after the atm attach command), please run the following: # atm sh config # atm sh int Then start ilmid. This will output a bunch of debugging info to the file /var/log/ilmid. # ilmid -d 3 Then run, # atm sh int # atm sh vcc # atm sh stats vcc Hopefully this will give us enough info to figure this out. Regards mike -- Mike Spengler Network Computing Services, Inc. Email: mks@networkcs.com 1200 Washington Ave. So. Phone: +1 612 337 3557 Minneapolis MN 55415 FAX: +1 612 337 3400 (aka Minnesota Supercomputer Center) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Tue Aug 3 5:40:26 1999 Delivered-To: freebsd-atm@freebsd.org Received: from mel.alcatel.fr (mel.alcatel.fr [212.208.74.132]) by hub.freebsd.org (Postfix) with ESMTP id 0296615283 for ; Tue, 3 Aug 1999 05:40:20 -0700 (PDT) (envelope-from thierry.herbelot@alcatel.fr) Received: from aifhs2.alcatel.fr (mailhub.alcatel.fr [155.132.180.80]) by mel.alcatel.fr (ALCANET/SMTP) with ESMTP id NAA25485 for ; Tue, 3 Aug 1999 13:36:05 +0200 Received: from lune.telspace.alcatel.fr (lune.telspace.alcatel.fr [155.132.144.65]) by aifhs2.alcatel.fr (ALCANET/SMTP2) with ESMTP id OAA11914 for ; Tue, 3 Aug 1999 14:33:26 +0200 (MET DST) Received: from telss1 (telss1.telspace.alcatel.fr [155.132.51.4]) by lune.telspace.alcatel.fr (8.9.1a/8.9.1) with ESMTP id OAA06353 for ; Tue, 3 Aug 1999 14:19:33 +0200 (MEST) Received: from alcatel.fr by telss1 (8.8.8+Sun/SMI-SVR4) id OAA17031; Tue, 3 Aug 1999 14:28:25 +0200 (MET DST) Message-ID: <37A6E08E.9653F8CE@alcatel.fr> Date: Tue, 03 Aug 1999 14:29:02 +0200 From: Thierry Herbelot Reply-To: thierry.herbelot@alcatel.fr Organization: ALCATEL CIT Nanterre X-Mailer: Mozilla 4.5 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: atm Subject: Looking for a PCA200e user Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hello, I'm tasked with the installation and configuration of a Fore PCA200e NIC on a PC (Compaq P-III 450), but it doesn't seem to be working as it should (in fact, it does not work at all). As indicated in /usr/share/examples/atm, I've downloaded two versions of the microcode from fore's web site (one OS2 version and an NT version). % cd /etc % ll pca* -rw-r--r-- 1 root wheel 33992 Aug 3 14:13 pca200e.bin -rw-r--r-- 1 root wheel 33992 Aug 3 13:32 pca200e_Os2.bin -rw-r--r-- 1 root wheel 35768 Aug 3 13:32 pca200e_pca2e_12.bin % I start atm at boot, via /etc/rc.atm , which I've patched to give verbose comments : # Load microcode into FORE adapters (if needed) if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then echo "${atmdev}" echo "Download fore microcode" /sbin/fore_dnld -v -i hfa0 -f /etc/pca200e.bin fi The fore_download loads some code in the PCA adapter, and then launches the execution with a "go
", but nothing happens (and I doubt the 960 executes some code, as the ATM switch keeps the LED off for this ATM port). So : if there are users of the PCA200e on FreeBSD 3.2-R, could you please tell me what your config is. Thanks in advance TfH To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Tue Aug 3 6:19:26 1999 Delivered-To: freebsd-atm@freebsd.org Received: from btm4r4.alcatel.be (btm4r4.alcatel.be [195.207.101.110]) by hub.freebsd.org (Postfix) with ESMTP id 2E7E914EF3 for ; Tue, 3 Aug 1999 06:19:22 -0700 (PDT) (envelope-from livensw@rc.bel.alcatel.be) Received: from btmq9s.rc.bel.alcatel.be (btmq9s.rc.bel.alcatel.be [138.203.65.182]) by btm4r4.alcatel.be (8.9.1a/8.9.1) with ESMTP id PAA16371; Tue, 3 Aug 1999 15:18:52 +0200 (MET DST) Received: from btm0uk.rc.bel.alcatel.be (btm0uk [138.203.64.189]) by btmq9s.rc.bel.alcatel.be (8.8.8+Sun/8.8.8) with ESMTP id PAA14751; Tue, 3 Aug 1999 15:21:17 +0200 (MET DST) Received: (from livensw@localhost) by btm0uk.rc.bel.alcatel.be (8.8.8+Sun/8.8.8) id PAA19671; Tue, 3 Aug 1999 15:18:53 +0200 (MET DST) Date: Tue, 3 Aug 1999 15:18:53 +0200 From: Wim Livens To: Thierry Herbelot Cc: freebsd-atm@freebsd.org Subject: Re: Looking for a PCA200e user Message-ID: <19990803151853.L20292@rc.bel.alcatel.be> References: <37A6E08E.9653F8CE@alcatel.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.5i In-Reply-To: <37A6E08E.9653F8CE@alcatel.fr>; from Thierry Herbelot on Tue, Aug 03, 1999 at 02:29:02PM +0200 Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, Aug 03, 1999 at 02:29:02PM +0200, Thierry Herbelot wrote: > As indicated in /usr/share/examples/atm, I've downloaded two versions of > the microcode from fore's web site (one OS2 version and an NT version). > > % cd /etc > % ll pca* > -rw-r--r-- 1 root wheel 33992 Aug 3 14:13 pca200e.bin > -rw-r--r-- 1 root wheel 33992 Aug 3 13:32 pca200e_Os2.bin > -rw-r--r-- 1 root wheel 35768 Aug 3 13:32 pca200e_pca2e_12.bin I've succesfully installed a PCA200e about a year ago on 2.2.7-RELEASE. If I remenber well, I downloaded the microcode for os2 from Fore website too and it didn't work. After asking the HARP mailing list I got another microcode from somewhere. And indeed, the one I use has a different size! (40984) -- Wim Livens. Alcatel - Corporate Research Center wim.livens@alcatel.be Fr. Wellesplein 1 livensw@rc.bel.alcatel.be B-2018 Antwerpen Tel: +32 3 240 7570 Belgium. Fax: +32 3 240 9932 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Tue Aug 3 6:42:34 1999 Delivered-To: freebsd-atm@freebsd.org Received: from mel.alcatel.fr (mel.alcatel.fr [212.208.74.132]) by hub.freebsd.org (Postfix) with ESMTP id 2A97914DDE for ; Tue, 3 Aug 1999 06:42:30 -0700 (PDT) (envelope-from thierry.herbelot@alcatel.fr) Received: from aifhs2.alcatel.fr (mailhub.alcatel.fr [155.132.180.80]) by mel.alcatel.fr (ALCANET/SMTP) with ESMTP id OAA12699 for ; Tue, 3 Aug 1999 14:37:49 +0200 Received: from lune.telspace.alcatel.fr (lune.telspace.alcatel.fr [155.132.144.65]) by aifhs2.alcatel.fr (ALCANET/SMTP2) with ESMTP id PAA23611; Tue, 3 Aug 1999 15:35:06 +0200 (MET DST) Received: from telss1 (telss1.telspace.alcatel.fr [155.132.51.4]) by lune.telspace.alcatel.fr (8.9.1a/8.9.1) with ESMTP id PAA19040; Tue, 3 Aug 1999 15:27:51 +0200 (MEST) Received: from alcatel.fr by telss1 (8.8.8+Sun/SMI-SVR4) id PAA19153; Tue, 3 Aug 1999 15:36:44 +0200 (MET DST) Message-ID: <37A6F091.470F9D3@alcatel.fr> Date: Tue, 03 Aug 1999 15:37:21 +0200 From: Thierry Herbelot Reply-To: thierry.herbelot@alcatel.fr Organization: ALCATEL CIT Nanterre X-Mailer: Mozilla 4.5 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: Wim Livens Cc: freebsd-atm@freebsd.org Subject: Re: Looking for a PCA200e user References: <37A6E08E.9653F8CE@alcatel.fr> <19990803151853.L20292@rc.bel.alcatel.be> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Well, could you store this file on an accessible FTP server (or send it to me as a private mail) TfH Wim Livens wrote: > > On Tue, Aug 03, 1999 at 02:29:02PM +0200, Thierry Herbelot wrote: > > > As indicated in /usr/share/examples/atm, I've downloaded two versions of > > the microcode from fore's web site (one OS2 version and an NT version). > > > > % cd /etc > > % ll pca* > > -rw-r--r-- 1 root wheel 33992 Aug 3 14:13 pca200e.bin > > -rw-r--r-- 1 root wheel 33992 Aug 3 13:32 pca200e_Os2.bin > > -rw-r--r-- 1 root wheel 35768 Aug 3 13:32 pca200e_pca2e_12.bin > > I've succesfully installed a PCA200e about a year ago on > 2.2.7-RELEASE. If I remenber well, I downloaded the microcode for os2 > from Fore website too and it didn't work. After asking the HARP mailing > list I got another microcode from somewhere. And indeed, the one I use > has a different size! (40984) > > -- > Wim Livens. > > Alcatel - Corporate Research Center wim.livens@alcatel.be > Fr. Wellesplein 1 livensw@rc.bel.alcatel.be > B-2018 Antwerpen Tel: +32 3 240 7570 > Belgium. Fax: +32 3 240 9932 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Tue Aug 3 9: 6:38 1999 Delivered-To: freebsd-atm@freebsd.org Received: from mel.alcatel.fr (mel.alcatel.fr [212.208.74.132]) by hub.freebsd.org (Postfix) with ESMTP id 888D2152FD for ; Tue, 3 Aug 1999 09:06:31 -0700 (PDT) (envelope-from thierry.herbelot@alcatel.fr) Received: from aifhs2.alcatel.fr (mailhub.alcatel.fr [155.132.180.80]) by mel.alcatel.fr (ALCANET/SMTP) with ESMTP id QAA16656; Tue, 3 Aug 1999 16:39:55 +0200 Received: from lune.telspace.alcatel.fr (lune.telspace.alcatel.fr [155.132.144.65]) by aifhs2.alcatel.fr (ALCANET/SMTP2) with ESMTP id RAA02800; Tue, 3 Aug 1999 17:37:13 +0200 (MET DST) Received: from telss1 (telss1.telspace.alcatel.fr [155.132.51.4]) by lune.telspace.alcatel.fr (8.9.1a/8.9.1) with ESMTP id RAA11011; Tue, 3 Aug 1999 17:28:42 +0200 (MEST) Received: from alcatel.fr by telss1 (8.8.8+Sun/SMI-SVR4) id RAA22409; Tue, 3 Aug 1999 17:37:30 +0200 (MET DST) Message-ID: <37A70CDD.43515382@alcatel.fr> Date: Tue, 03 Aug 1999 17:38:05 +0200 From: Thierry Herbelot Reply-To: thierry.herbelot@alcatel.fr Organization: ALCATEL CIT Nanterre X-Mailer: Mozilla 4.5 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: atm , ML HARP Subject: Set prefix ? Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hello, Having made some progress toward the actual use of an ATM board with FreeBSD 3.2-R (I have now loaded the Fore microcode). I'm now playing with the atm(8) command and it seems there are some points missing : I don't see how the "set prefix" command works, as the corresponding ioctl does not exist in dev/hfa/fore_if.c (the same ioctl is used in ilmid - so it must work ?) TfH PS : config = Compaq P-III pc with a PCA200e Fore adapter (and a switch from Xylan/Alcatel) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Tue Aug 3 9:46:41 1999 Delivered-To: freebsd-atm@freebsd.org Received: from marcos.networkcs.com (marcos.networkcs.com [137.66.16.1]) by hub.freebsd.org (Postfix) with ESMTP id 896AF14DD3 for ; Tue, 3 Aug 1999 09:46:34 -0700 (PDT) (envelope-from jpt@us.networkcs.com) Received: from us.networkcs.com (us.networkcs.com [137.66.11.15]) by marcos.networkcs.com (8.9.0.Beta5/8.9.0.Beta5) with ESMTP id LAA06136; Tue, 3 Aug 1999 11:45:00 -0500 (CDT) Received: (from jpt@localhost) by us.networkcs.com (8.9.2/8.8.7) id LAA96255; Tue, 3 Aug 1999 11:45:00 -0500 (CDT) From: Joseph Thomas Message-Id: <199908031645.LAA96255@us.networkcs.com> Subject: Re: Set prefix ? In-Reply-To: <37A70CDD.43515382@alcatel.fr> from Thierry Herbelot at "Aug 3, 99 05:38:05 pm" To: thierry.herbelot@alcatel.fr Date: Tue, 3 Aug 1999 11:44:59 -0500 (CDT) Cc: atm@freebsd.org, harp@magic.net X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Hello, > > Having made some progress toward the actual use of an ATM board with > FreeBSD 3.2-R (I have now loaded the Fore microcode). > > I'm now playing with the atm(8) command and it seems there are some > points missing : > I don't see how the "set prefix" command works, as the corresponding > ioctl does not exist in dev/hfa/fore_if.c > (the same ioctl is used in ilmid - so it must work ?) > > TfH > > PS : config = Compaq P-III pc with a PCA200e Fore adapter (and a switch > from Xylan/Alcatel) > The "set prefix" is an ATM signalling property, not a physical interface property per se. Thus, the quick answer is that the "set prefix" is handled by the UNI signalling manager and that the code can be found in: /usr/src/sys/netatm/uni/unisig_if.c A more complete answer would be that ilmid opens a socket of type AF_ATM which is a new protocol family implemented by the HARP ATM code. Ioctl()'s issued on sockets of this type are handed off to the protocol family's 'control' routine (atm_dgram_control()) in: /usr/src/sys/netatm/atm_usrreq.c Ilmid issues an AIOCSET ioctl() with a subcode of AIOCS_SET_PRF and the name of the physical interface in a control block. Atm_usrreq.c looks up the signalling manager attached to the named interface and calls the signalling managers ioctl() routine. Looking through atm_usrreq.c you will notice that some calls are never handed off (AIOCSET:AIOCS_SET_MAC), some are handed off to the inferface (AIOCSET:AIOCS_SET_NIF - dev/hfa/fore_if.c for example), and some are handed off to signalling managers (AIOCS:AIOCS_SET_PRF). Hope this gives a quick overview of the IOCTL calls for HARP ATM. Btw: I'd be interested in hearing about problems/successes you have working with the Xylan/Alcatel switch. We use FORE and have heard for uses using Cisco LightStream. -- Joseph Thomas E/Mail: jpt@networkcs.com Network Computing Services, Inc. jpt@magic.net 1200 Washington Ave So. Tel: +1 612 337 3558 Minneapolis, MN 55415-1227 FAX: +1 612 337 3400 An elephant is a mouse with an operating system. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Tue Aug 3 17:10:23 1999 Delivered-To: freebsd-atm@freebsd.org Received: from cad.arl.mil (cad.arl.mil [128.63.247.128]) by hub.freebsd.org (Postfix) with SMTP id DFBC214A2D for ; Tue, 3 Aug 1999 17:10:13 -0700 (PDT) (envelope-from mike@ARL.MIL) Date: Tue, 3 Aug 1999 20:07:06 EDT From: Mike Muuss To: thierry.herbelot@alcatel.fr Cc: atm Subject: Re: Looking for a PCA200e user Message-ID: <199908032007.aa18260@CAD.ARL.MIL> Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org I'm running Fore PCA-200E PCI ATM adaptors on FreeBSD 3.1 and 3.2 under HARP, with very good luck. I like it! :-) I get great performance. Having the correct microcode is very important! 3.0.1 is what matches the HARP driver. Here is the information about the microcode that I'm using: -rw-r--r-- 1 root wheel 40984 Jan 28 1999 /etc/pca200e.bin MD5 (/etc/pca200e.bin) = 86c3f62566483ba357e1228fbfb3ec62 atm show config Intf Vendor Model Media Bus Serial No hfa0 Fore PCA-200E OC-3c PCI 4203797 MAC address = 00:20:48:40:25:15 Hardware version = 2.0.1 Firmware version = 3.0.1 Best, -Mike Muuss Senior Scientist Survivability and Lethality Analysis Directorate The U.S. Army Research Laboratory APG, MD 21005-5068 USA My E-mail is My World-Wide-Web URL is http://ftp.arl.mil/~mike/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Tue Aug 3 17:26: 6 1999 Delivered-To: freebsd-atm@freebsd.org Received: from cad.arl.mil (cad.arl.mil [128.63.247.128]) by hub.freebsd.org (Postfix) with SMTP id 7E55A15159 for ; Tue, 3 Aug 1999 17:26:00 -0700 (PDT) (envelope-from mike@ARL.MIL) Date: Tue, 3 Aug 1999 20:22:26 EDT From: Mike Muuss To: thierry.herbelot@alcatel.fr Cc: atm , ML HARP Subject: Re: Set prefix ? Message-ID: <199908032022.aa18532@CAD.ARL.MIL> Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Here are the entries in /etc/rc.conf that I'm using to bring up CLIP on my Fore PCA-200e board, with FreeBSD 3.2-RELEASE, with a Fore switch: ### ATM interface options: ### atm_enable="YES" # Configure ATM interfaces (or NO). atm_netif_hfa0="atm 1" # Network interfaces for physical interface. atm_sigmgr_hfa0="uni31" # Signalling manager for physical interface. atm_prefix_hfa0="ILMI" # NSAP prefix (UNI interfaces only) (or ILMI). atm_macaddr_hfa0="NO" # Override physical MAC address (or NO). atm_arpserver_atm0="0x47.0005.80.007300.0000.0300.0100.0020481C095F00" # ATMAR! atm_scsparp_atm0="NO" # Run SCSP/ATMARP on network interface (or NO)! atm_pvcs="" # Set to PVC list (or leave empty). atm_arps="" # Set to permanent ARP list (or leave empty). Here are some of the outputs of "atm show", for reference: 21 vm> atm show config Intf Vendor Model Media Bus Serial No hfa0 Fore PCA-200E OC-3c PCI 4203797 MAC address = 00:20:48:40:25:15 Hardware version = 2.0.1 Firmware version = 3.0.1 22 vm> atm show interface Interface Sigmgr State hfa0 UNI 3.1 ACTIVE ATM address = 0x47.0005.80.007300.0000.0300.0184.002048402515.00 Network interfaces: atm0 23 vm> atm show netif Net Intf Phy Intf IP Address atm0 hfa0 vm.arl.mil (128.63.247.191) 26 vm> atm show stats interface hfa0 phy Fore PCA-200E OC-3c Statistics Section Path Line Line Path Corr Uncorr BIP8 BIP8 BIP24 FEBE FEBE HCS HCS Errs Errs Errs Errs Errs Errs Errs 0 0 0 0 0 0 0 27 vm> atm show stats interface hfa0 driver Fore PCA-200E Device Driver Statistics No Xmit Max Seg No No No IQ No Cmd No VCC Queue Seg Not Seg DMA VCC No Mbuf Full DMA Queue DMA Out Full Size Align Pad Out In Buff In In Sup Full Cmd 0 0 0 159 130 0 0 0 0 0 0 0 0 28 vm> atm show stats interface hfa0 dev Fore PCA-200E Device Statistics Type 1 Type 1 Type 2 Type 2 Small Buff Large Buff Small Buff Large Buff Receive Receive Alloc Fail Alloc Fail Alloc Fail Alloc Fail Queue Full Carrier 0 0 0 0 0 On 29 vm> atm show stats interface hfa0 atm Fore PCA-200E ATM Layer Statistics Cells In Cells Out VPI Range VPI NoConn VCI Range VCI NoConn 0 0 0 0 0 32788204 30 vm> atm show stats interface hfa0 aal0 Fore PCA-200E AAL 0 Statistics Cells In Cells Out Cell Drops 0 0 0 31 vm> atm show stats interface hfa0 aal4 Fore PCA-200E AAL 4 Statistics CRC Proto Cell PDU PDU Cells In Cells Out Errs Errs Drops PDUs In PDUs Out Errs Drops 0 0 0 0 0 0 0 0 0 32 vm> atm show stats interface hfa0 aal5 Fore PCA-200E AAL 5 Statistics CRC/Len CRC Proto PDU Cells In Cells Out Errs Drops PDUs In PDUs Out Errs Errs Drops 5405241 5169865 0 0 1681444 1668279 0 0 0 33 vm> atm show arpserver Net Intf State ATM Address atm0 ACTIVE 0x47.0005.80.007300.0000.0300.0100.0020481c095f.00 34 vm> atm show arp Net Intf Flags Age Origin atm0 VR 12 LOOKUP ATM address = 0x47.0005.80.007300.0000.0300.0100.0020481c095f.00 IP address = asx328-1a.arl.mil (128.63.240.245) atm0 VR 7 LOOKUP ATM address = 0x47.0005.80.007300.0000.0300.0102.128063024001.00 IP address = gw328-2.arl.mil (128.63.240.1) atm0 VR 13 LOOKUP ATM address = 0x47.0005.80.007300.0000.0300.018e.0020482d7d4a.00 IP address = cad.arl.mil (128.63.247.128) Best, -Mike To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Wed Aug 4 0:57:32 1999 Delivered-To: freebsd-atm@freebsd.org Received: from mel.alcatel.fr (mel.alcatel.fr [212.208.74.132]) by hub.freebsd.org (Postfix) with ESMTP id C8A9114CB8 for ; Wed, 4 Aug 1999 00:57:28 -0700 (PDT) (envelope-from thierry.herbelot@alcatel.fr) Received: from aifhs2.alcatel.fr (mailhub.alcatel.fr [155.132.180.80]) by mel.alcatel.fr (ALCANET/SMTP) with ESMTP id IAA30577; Wed, 4 Aug 1999 08:52:47 +0200 Received: from lune.telspace.alcatel.fr (lune.telspace.alcatel.fr [155.132.144.65]) by aifhs2.alcatel.fr (ALCANET/SMTP2) with ESMTP id JAA17685; Wed, 4 Aug 1999 09:50:09 +0200 (MET DST) Received: from telss1 (telss1.telspace.alcatel.fr [155.132.51.4]) by lune.telspace.alcatel.fr (8.9.1a/8.9.1) with ESMTP id JAA22392; Wed, 4 Aug 1999 09:44:38 +0200 (MEST) Received: from alcatel.fr by telss1 (8.8.8+Sun/SMI-SVR4) id JAA08319; Wed, 4 Aug 1999 09:53:35 +0200 (MET DST) Message-ID: <37A7F1A5.73119594@alcatel.fr> Date: Wed, 04 Aug 1999 09:54:13 +0200 From: Thierry Herbelot Reply-To: thierry.herbelot@alcatel.fr Organization: ALCATEL CIT Nanterre X-Mailer: Mozilla 4.5 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 Cc: atm , ML HARP Subject: Re: Set prefix ? References: <199908032022.aa18532@CAD.ARL.MIL> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Thanks a bunch, guys, I was trying to set prefix with a sigPVC signalling, and it seems it's not possible. I still have problems downloading the Fore microcode : the /sbin/fore_dnld does not seem to work each time (some times I start it twice, and the µcode loads on the second try :-(() TfH Mike Muuss wrote: > [interesting things] Joseph Thomas wrote: > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Wed Aug 4 7:23:26 1999 Delivered-To: freebsd-atm@freebsd.org Received: from betelgeuse.advanced.org (betelgeuse.advanced.org [199.222.103.10]) by hub.freebsd.org (Postfix) with ESMTP id 1532D14C46 for ; Wed, 4 Aug 1999 07:23:20 -0700 (PDT) (envelope-from cerveny@advanced.org) Received: from bill (bill.advanced.org [199.222.103.235]) by betelgeuse.advanced.org (8.9.3/8.9.1) with ESMTP id KAA16835 for ; Wed, 4 Aug 1999 10:22:57 -0400 (EDT) Message-Id: <4.2.0.58.19990804100630.00a5e5a0@mail.advanced.org> X-Sender: cerveny@mail.advanced.org X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Wed, 04 Aug 1999 10:38:14 -0400 To: atm@FreeBSD.ORG From: Bill Cerveny Subject: Performance tuning tips, comments on configuration Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org First, does anyone have any performance tuning tips for getting optimal performance from the Fore ATM cards on FreeBSD? Second, I am something of a "newbie" to FreeBSD, although I've got a bit of experience with other UNIX variants, including BSDI, Linux, Solaris, etc. I'm also a little new to ATM. It took me awhile to figure out how to make the Fore cards work on FreeBSD. If I were to improve the documentation and/or installation instructions for the HARP stuff, I would add the following: 1) Provide better references about how to configure ATM cards using configuration values in /etc/rc.conf. After playing around with the "atm" command for some time, I discovered that rc.atm would do most of the work if /etc/rc.conf was populated correctly. Examples of configuration values can be found in /etc/defaults/rc.conf, but better documentation of the configuration values would be great. 2) Indicate that changes must be made to the default FreeBSD kernel and what changes need to be made. It wasn't intuitive to me to look in the "LINT" kernel config file for the values to make ATM work. 3) Examples of a few working configurations between FreeBSD systems and other systems would be useful. I finally found some examples in the mailing list and after contacting someone familiar with the HARP stuff, but it would be useful to provide examples of back-to-back connections between two FreeBSD boxes (which is what I had set-up) to get the implementor started. 4) Really emphasize that the correct Fore boot binary file can make or break your implementation and that with the wrong boot binary, things may appear to function somewhat. I had used a pca200e.bin file from a commercial Fore driver for BSDI UNIX; it sort of worked, but acted strange at times and I never got connectivity. Someone else recommended a different version of the pca200e.bin file and the cards suddenly started working right. If interested, I could attempt to write some documentation regarding the above for inclusion in future releases ... Bill Cerveny Advanced Network & Services To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Wed Aug 4 11:58:19 1999 Delivered-To: freebsd-atm@freebsd.org Received: from marcos.networkcs.com (marcos.networkcs.com [137.66.16.1]) by hub.freebsd.org (Postfix) with ESMTP id 16348154AD for ; Wed, 4 Aug 1999 11:58:14 -0700 (PDT) (envelope-from mks@us.networkcs.com) Received: from us.networkcs.com (us.networkcs.com [137.66.11.15]) by marcos.networkcs.com (8.9.0.Beta5/8.9.0.Beta5) with ESMTP id NAA17721; Wed, 4 Aug 1999 13:57:29 -0500 (CDT) Received: (from mks@localhost) by us.networkcs.com (8.9.2/8.8.7) id NAA45021; Wed, 4 Aug 1999 13:57:28 -0500 (CDT) From: Mike Spengler Message-Id: <199908041857.NAA45021@us.networkcs.com> Subject: Re: Set prefix ? In-Reply-To: <37A7F1A5.73119594@alcatel.fr> from Thierry Herbelot at "Aug 4, 99 09:54:13 am" To: thierry.herbelot@alcatel.fr Date: Wed, 4 Aug 1999 13:57:28 -0500 (CDT) Cc: atm@freebsd.org, harp@magic.net X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Thierry Herbelot said: > > I was trying to set prefix with a sigPVC signalling, and it seems it's > not possible. > Correct...this is for setting the NSAP address prefix for an interface, which only makes sense in a uni30/uni31 signalling environment. For uni3[01] signalling, the NSAP prefix can either be set via the 'atm set prefix' command or automatically via ilmid(8). > I still have problems downloading the Fore microcode : the > /sbin/fore_dnld does not seem to work each time (some times I start it > twice, and the µcode loads on the second try :-(() > What happens with the first download try? Does it just hang forever, spit out any error messages, ??? -- Mike Spengler Network Computing Services, Inc. Email: mks@networkcs.com 1200 Washington Ave. So. Phone: +1 612 337 3557 Minneapolis MN 55415 FAX: +1 612 337 3400 (aka Minnesota Supercomputer Center) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Thu Aug 5 1:55:27 1999 Delivered-To: freebsd-atm@freebsd.org Received: from mel.alcatel.fr (mel.alcatel.fr [212.208.74.132]) by hub.freebsd.org (Postfix) with ESMTP id 9FB411524B for ; Thu, 5 Aug 1999 01:55:18 -0700 (PDT) (envelope-from thierry.herbelot@alcatel.fr) Received: from aifhs2.alcatel.fr (mailhub.alcatel.fr [155.132.180.80]) by mel.alcatel.fr (ALCANET/SMTP) with ESMTP id JAA02418; Thu, 5 Aug 1999 09:50:30 +0200 Received: from lune.telspace.alcatel.fr (lune.telspace.alcatel.fr [155.132.144.65]) by aifhs2.alcatel.fr (ALCANET/SMTP2) with ESMTP id KAA06712; Thu, 5 Aug 1999 10:48:02 +0200 (MET DST) Received: from telss1 (telss1.telspace.alcatel.fr [155.132.51.4]) by lune.telspace.alcatel.fr (8.9.1a/8.9.1) with ESMTP id KAA16086; Thu, 5 Aug 1999 10:26:32 +0200 (MEST) Received: from alcatel.fr by telss1 (8.8.8+Sun/SMI-SVR4) id KAA12224; Thu, 5 Aug 1999 10:35:15 +0200 (MET DST) Message-ID: <37A94CEC.BC73692A@alcatel.fr> Date: Thu, 05 Aug 1999 10:35:56 +0200 From: Thierry Herbelot Reply-To: thierry.herbelot@alcatel.fr Organization: ALCATEL CIT Nanterre X-Mailer: Mozilla 4.5 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: Mike Spengler Cc: atm@freebsd.org, harp@magic.net Subject: Re: Set prefix ? References: <199908041857.NAA45021@us.networkcs.com> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Mike Spengler wrote: > > Thierry Herbelot said: > > > > I was trying to set prefix with a sigPVC signalling, and it seems it's > > not possible. > > > Correct...this is for setting the NSAP address prefix for an interface, which > only makes sense in a uni30/uni31 signalling environment. For uni3[01] > signalling, the NSAP prefix can either be set via the 'atm set prefix' command > or automatically via ilmid(8). OK, got it (I read it in the sources, actually) > > > I still have problems downloading the Fore microcode : the > > /sbin/fore_dnld does not seem to work each time (some times I start it > > twice, and the µcode loads on the second try :-(() > > > What happens with the first download try? Does it just hang forever, spit > out any error messages, ??? It just waits a long time without giving an error message, then exits. If I give a second try, it seems to be downloading ok (at least, there is some activity on the link, as the LD on the switch begins to blink). I have got a full, complete hang of the machine after using a "fore_dnld -r -d /etc" - the Compaq was completly blocked : no response to keyboard, no response to ping on the Ethernet, no response on the On/Off switch (it's an ATX board). I had to unplug the electricity plug to restart the beast. I've also tried to add some debugging messages, but it didn't help. We have installed another for board in an old P5-75 from HP, and still have problems downloading the microcode at startup. TfH > > -- > Mike Spengler Network Computing Services, Inc. > Email: mks@networkcs.com 1200 Washington Ave. So. > Phone: +1 612 337 3557 Minneapolis MN 55415 > FAX: +1 612 337 3400 (aka Minnesota Supercomputer Center) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Thu Aug 5 6:26:38 1999 Delivered-To: freebsd-atm@freebsd.org Received: from mel.alcatel.fr (mel.alcatel.fr [212.208.74.132]) by hub.freebsd.org (Postfix) with ESMTP id D56A314F61 for ; Thu, 5 Aug 1999 06:26:10 -0700 (PDT) (envelope-from thierry.herbelot@alcatel.fr) Received: from aifhs2.alcatel.fr (mailhub.alcatel.fr [155.132.180.80]) by mel.alcatel.fr (ALCANET/SMTP) with ESMTP id OAA10201; Thu, 5 Aug 1999 14:21:37 +0200 Received: from lune.telspace.alcatel.fr (lune.telspace.alcatel.fr [155.132.144.65]) by aifhs2.alcatel.fr (ALCANET/SMTP2) with ESMTP id PAA04137; Thu, 5 Aug 1999 15:19:04 +0200 (MET DST) Received: from telss1 (telss1.telspace.alcatel.fr [155.132.51.4]) by lune.telspace.alcatel.fr (8.9.1a/8.9.1) with ESMTP id PAA04653; Thu, 5 Aug 1999 15:04:39 +0200 (MEST) Received: from alcatel.fr by telss1 (8.8.8+Sun/SMI-SVR4) id PAA20554; Thu, 5 Aug 1999 15:13:39 +0200 (MET DST) Message-ID: <37A98E2D.D015F6CD@alcatel.fr> Date: Thu, 05 Aug 1999 15:14:21 +0200 From: Thierry Herbelot Reply-To: thierry.herbelot@alcatel.fr Organization: ALCATEL CIT Nanterre X-Mailer: Mozilla 4.5 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: Mike Spengler Cc: atm@freebsd.org, harp@magic.net Subject: fore_dnld References: <199908041857.NAA45021@us.networkcs.com> Content-Type: multipart/mixed; boundary="------------9989C7D3BEBE615C2248EBCE" Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org This is a multi-part message in MIME format. --------------9989C7D3BEBE615C2248EBCE Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit hello, we have investigated the download problem, with another PC and a cooked-up program, which gives verbose error messages (see enclosed fore_dnld.c), and a slightly modified /etc/rc.atm. the enclosed dmesg.atm is an extract of the messages printed on the console when the machine is booting up. (dmesg.boot being the full dmesg - giving all peripherals in the machine). To sum up : - we still do not succeed in loading the fore microcode in a PCA200e on a CompaQ PC when /sbin/fore_dnld is called in /etc/rc.atm at startup. - the same is happening on an old P5-75 from HP - we **generally** can load the microcode by invoking two times /sbin/fore_dnld -d /etc "by hand", after the machine is up and running. TfH PS : the microcode file we use has the following size : -rw-r--r-- 1 root wheel 40984 Aug 3 18:13 pca200e.bin PS2 : we are obviously open to running any new version of fore_dnld, with more debugging features PS3 : this is under FreeBSD 3.2-Release --------------9989C7D3BEBE615C2248EBCE Content-Type: text/plain; charset=us-ascii; name="fore_dnld.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fore_dnld.c" /* * * =================================== * HARP | Host ATM Research Platform * =================================== * * * This Host ATM Research Platform ("HARP") file (the "Software") is * made available by Network Computing Services, Inc. ("NetworkCS") * "AS IS". NetworkCS does not provide maintenance, improvements or * support of any kind. * * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED, * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE. * In no event shall NetworkCS be responsible for any damages, including * but not limited to consequential damages, arising from or relating to * any use of the Software or related support. * * Copyright 1994-1998 Network Computing Services, Inc. * * Copies of this Software may be made, however, the above copyright * notice must be reproduced on all copies. * * @(#) $Id: fore_dnld.c,v 1.2 1998/10/30 16:17:43 dg Exp $ * */ /* * User utilities * -------------- * * Download (pre)processed microcode into Fore Series-200 host adapter * Interact with i960 uart on Fore Series-200 host adapter * */ #ifndef lint static char *RCSid = "@(#) $Id: fore_dnld.c,v 1.2 1998/10/30 16:17:43 dg Exp $"; #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if (defined(BSD) && (BSD >= 199103)) #include #else #include #endif /* !BSD */ #ifdef sun #define DEV_NAME "/dev/sbus%d" #endif /* sun */ #if (defined(BSD) && (BSD >= 199103)) #define DEV_NAME "/dev/kmem" #endif /* BSD */ #define MAX_CHECK 60 int comm_mode = 0; char *progname; int tty; cc_t vmin, vtime; #if (defined(BSD) && (BSD >= 199103)) struct termios sgtty; #define TCSETA TIOCSETA #define TCGETA TIOCGETA #else struct termio sgtty; #endif /* !BSD */ int endian = 0; int verbose = 0; int reset = 0; char line[132]; int lineptr = 0; Mon960 *Uart; delay(cnt) int cnt; { usleep(cnt); } unsigned long CP_READ ( val ) unsigned long val; { if ( endian ) return ( ntohl ( val ) ); else return ( val ); } unsigned long CP_WRITE ( val ) unsigned long val; { if ( endian ) return ( htonl ( val ) ); else return ( val ); } /* * Print an error message and exit. * * Arguments: * none * * Returns: * none */ void error ( msg ) char *msg; { printf ( "%s\n", msg ); exit (1); } /* * Get a byte for the uart and if printing, display it. * * Arguments: * prn Are we displaying characters * * Returns: * c Character from uart */ char getbyte ( prn ) int prn; { int c; while ( ! ( CP_READ(Uart->mon_xmithost) & UART_VALID ) ) delay(10); c = ( CP_READ(Uart->mon_xmithost) & UART_DATAMASK ); Uart->mon_xmithost = CP_WRITE(UART_READY); /* * We need to introduce a delay in here or things tend to hang... */ delay(10); if ( lineptr >= sizeof(line) ) lineptr = 0; /* * Save character into line */ line[lineptr++] = c; if (verbose) { if (isprint(c) || (c == '\n') || (c == '\r')) putc(c, stdout); } return ( c & 0xff ); } /* * Loop getting characters from uart into static string until eol. If printing, * display the line retrieved. * * Arguments: * prn Are we displaying characters * * Returns: * none Line in global string 'line[]' */ void getline ( prn ) int prn; { char c = '\0'; int i = 0; while ( c != '>' && c != '\n' && c != '\r' ) { c = getbyte(0); if ( ++i >= sizeof(line) ) { if ( prn ) printf ( "%s", line ); i = 0; } } /* * Terminate line */ line[lineptr] = 0; lineptr = 0; } /* * Send a byte to the i960 * * Arguments: * c Character to send * * Returns: * none */ void xmit_byte ( c, dn ) unsigned char c; int dn; { int val; while ( CP_READ(Uart->mon_xmitmon) != UART_READY ) { if ( CP_READ(Uart->mon_xmithost) & UART_VALID ) getbyte ( 0 ); if ( !dn ) delay ( 1000 ); } val = ( c | UART_VALID ); Uart->mon_xmitmon = CP_WRITE( val ); } /* * Transmit a line to the i960. Eol must be included as part of text to transmit. * * Arguments: * line Character string to transmit * len len of string. This allows us to include NULL's * in the string/block to be transmitted. * * Returns: * none */ xmit_to_i960 ( line, len, dn ) char *line; int len; int dn; { int i; for ( i = 0; i < len; i++ ) xmit_byte ( line[i], dn ); } /* * Send autobaud sequence to i960 monitor * * Arguments: * none * * Returns: * none */ void autobaud() { if ( strncmp ( line, "Mon960", 6 ) == 0 ) xmit_to_i960 ( "\r\n\r\n\r\n\r\n", 8, 0 ); } /* * Reset tty to initial state * * Arguments: * ret error code for exit() * * Returns: * none * */ void finish ( ret ) { sgtty.c_lflag |= ( ICANON | ECHO ); sgtty.c_cc[VMIN] = vmin; sgtty.c_cc[VTIME] = vtime; ioctl ( tty, TCSETA, &sgtty ); exit ( ret ); } /* * Utility to strip off any leading path information from a filename * * Arguments: * path pathname to strip * * Returns: * fname striped filename * */ char * basename ( path ) char *path; { char *fname; if ( ( fname = strrchr ( path, '/' ) ) != NULL ) fname++; else fname = path; return ( fname ); } /* * ASCII constants */ #define SOH 001 #define STX 002 #define ETX 003 #define EOT 004 #define ENQ 005 #define ACK 006 #define LF 012 #define CR 015 #define NAK 025 #define SYN 026 #define CAN 030 #define ESC 033 #define NAKMAX 2 #define ERRORMAX 10 #define RETRYMAX 5 #define CRCCHR 'C' #define CTRLZ 032 #define BUFSIZE 128 #define W 16 #define B 8 /* * crctab - CRC-16 constant array... * from Usenet contribution by Mark G. Mendel, Network Systems Corp. * (ihnp4!umn-cs!hyper!mark) */ unsigned short crctab[1< NAKMAX ) error ( "Remote system not responding" ); if ( c == CRCCHR ) crcmode = 1; } while ( c != NAK && c != CRCCHR ); sectnum = 1; attempts = errors = sendfin = extrachr = 0; /* * Loop over each sector to be sent */ do { if ( extrachr >= 128 ) { extrachr = 0; numsect++; } if ( sectnum > 0 ) { /* * Read a sectors worth of data from the file into * an internal buffer. */ for ( bufcntr = 0; bufcntr < bufsize; ) { int n; /* * Check for EOF */ if ( ( n = read ( fd, &c, 1 ) ) == 0 ) { sendfin = 1; if ( !bufcntr ) break; buf[bufcntr++] = CTRLZ; continue; } buf[bufcntr++] = c; } if ( !bufcntr ) break; } /* * Fill in xmodem protocol values. Block size and sector number */ bbufcntr = 0; blockbuf[bbufcntr++] = (bufsize == 1024) ? STX : SOH; blockbuf[bbufcntr++] = sectnum; blockbuf[bbufcntr++] = ~sectnum; checksum = 0; /* * Loop over the internal buffer computing the checksum of the * sector */ for ( bufcntr = 0; bufcntr < bufsize; bufcntr++ ) { blockbuf[bbufcntr++] = buf[bufcntr]; if ( crcmode ) checksum = (checksum<>(W-B)) ^ buf[bufcntr]]; else checksum = ((checksum + buf[bufcntr]) & 0xff); } /* * Place the checksum at the end of the transmit buffer */ if ( crcmode ) { checksum &= 0xffff; blockbuf[bbufcntr++] = ((checksum >> 8) & 0xff); blockbuf[bbufcntr++] = (checksum & 0xff); } else blockbuf[bbufcntr++] = checksum; attempts = 0; /* * Make several attempts to send the data to the i960 */ do { /* * Transmit the sector + protocol to the i960 */ xmit_to_i960 ( blockbuf, bbufcntr, 1 ); /* * Inform user where we're at */ if ( verbose ) printf ( "Sector %3d %3dk\r", sectnum, (sectnum * bufsize) / 1024 ); attempts++; /* * Get response from i960 */ sendresp = getbyte(0); /* * If i960 didn't like the sector */ if ( sendresp != ACK ) { errors++; /* * Are we supposed to cancel the transfer? */ if ( ( sendresp & 0x7f ) == CAN ) if ( getbyte(0) == CAN ) error ( "Send canceled at user's request" ); } } while ( ( sendresp != ACK ) && ( attempts < RETRYMAX ) && ( errors < ERRORMAX ) ); /* * Next sector */ sectnum++; } while ( !sendfin && ( attempts < RETRYMAX ) && ( errors < ERRORMAX ) ); /* * Did we expire all our allows attempts? */ if ( attempts >= RETRYMAX ) { xmit_byte ( CAN, 1 ), xmit_byte ( CAN, 1 ), xmit_byte ( CAN, 1 ); error ( "Remote system not responding" ); } /* * Check for too many transmission errors */ if ( errors >= ERRORMAX ) { xmit_byte ( CAN, 1 ), xmit_byte ( CAN, 1 ), xmit_byte ( CAN, 1 ); error ( "Too many errors in transmission" ); } attempts = 0; /* * Indicate the transfer is complete */ xmit_byte ( EOT, 1 ); /* * Wait until i960 acknowledges us */ while ( ( c = getbyte(0) ) != ACK && ( ++attempts < RETRYMAX ) ) xmit_byte ( EOT, 1 ); if ( attempts >= RETRYMAX ) error ( "Remote system not responding on completion" ); /* * After download, we'll see a few more command * prompts as the CP does its stuff. Ignore them. */ while ( strncmp ( line, "=>", 2 ) != 0 ) getline ( verbose ); while ( strncmp ( line, "=>", 2 ) != 0 ) getline ( verbose ); while ( strncmp ( line, "=>", 2 ) != 0 ) getline ( verbose ); /* * Tell the i960 to start executing the downloaded code */ xmit_to_i960 ( "go\r\n", 4, 0 ); /* * Get the messages the CP will spit out * after the GO command. */ getline ( verbose ); getline ( verbose ); close ( fd ); return ( 0 ); } int sendbinfile ( fname, ram ) char *fname; u_char *ram; { struct { u_long Id; u_long fver; u_long start; u_long entry; } binhdr; union { u_long w; char c[4]; } w1, w2; int fd; int n; int cnt = 0; u_char *bufp; long buffer[1024]; /* * Try opening file */ if ( ( fd = open ( fname, O_RDONLY ) ) < 0 ) return ( -1 ); /* * Read the .bin header from the file */ if ( ( read ( fd, &binhdr, sizeof(binhdr) ) ) != sizeof(binhdr) ) { close ( fd ); return ( -1 ); } /* * Check that we understand this header */ if ( strncmp ( (caddr_t)&binhdr.Id, "fore", 4 ) != 0 ) { fprintf ( stderr, "Unrecognized format in micorcode file." ); close ( fd ); return ( -1 ); } #ifdef sun /* * We always swap the SunOS microcode file... */ endian = 1; /* * We need to swap the header start/entry words... */ w1.w = binhdr.start; for ( n = 0; n < sizeof(u_long); n++ ) w2.c[3-n] = w1.c[n]; binhdr.start = w2.w; w1.w = binhdr.entry; for ( n = 0; n < sizeof(u_long); n++ ) w2.c[3-n] = w1.c[n]; binhdr.entry = w2.w; #endif /* sun */ /* * Rewind the file */ lseek ( fd, 0, 0 ); /* * Set pointer to RAM load location */ bufp = (ram + binhdr.start); /* * Load file */ if ( endian ) { /* * Need to swap longs - copy file into temp buffer */ while ( ( n = read ( fd, (char *)buffer, sizeof(buffer))) > 0 ) { int i; /* Swap buffer */ for ( i = 0; i < sizeof(buffer) / sizeof(long); i++ ) #ifndef sun buffer[i] = CP_WRITE(buffer[i]); #else { int j; w1.w = buffer[i]; for ( j = 0; j < 4; j++ ) w2.c[3-j] = w1.c[j]; buffer[i] = w2.w; } #endif /* * Copy swapped buffer into CP RAM */ cnt++; bcopy ( (caddr_t)buffer, bufp, n ); if ( verbose ) printf ( "%d\r", cnt ); bufp += n; } } else { while ( ( n = read ( fd, bufp, 128 ) ) > 0 ) { cnt++; if ( verbose ) printf ( "%d\r", cnt ); bufp += n; } } /* * With .bin extension, we need to specify start address on 'go' * command. */ { char cmd[80]; char c; sprintf ( cmd, "go %x\r\n", binhdr.entry ); xmit_to_i960 ( cmd, strlen ( cmd ), 0 ); while ( strncmp ( line, cmd, strlen(cmd) - 3 ) != 0 ) getline ( verbose ); if ( verbose ) printf("\n"); } close ( fd ); return ( 0 ); } /* * Program to download previously processed microcode to series-200 host adapter */ main( argc, argv ) int argc; char *argv[]; { int fd; /* mmap for Uart */ u_char *ram; /* pointer to RAM */ Mon960 *Mon; /* Uart */ Aali *aap; char c; int i, err; int binary = 0; /* Send binary file */ caddr_t buf; /* Ioctl buffer */ Atm_config *adp; /* Adapter config */ char bus_dev[80]; /* Bus device to mmap on */ struct atminfreq req; struct air_cfg_rsp *air; /* Config info response structure */ int buf_len; /* Size of ioctl buffer */ char *devname = "\0"; /* Device to download */ char *dirname = NULL; /* Directory path to objd files */ char *objfile = NULL; /* Command line object filename */ char *sndfile; /* Object filename to download */ char filename[64]; /* Constructed object filename */ char base[64]; /* sba200/sba200e/pca200e basename */ int ext = 0; /* 0 == bin 1 == objd */ struct stat sbuf; /* Used to find if .bin or .objd */ extern char *optarg; progname = (char *)basename(argv[0]); comm_mode = strcmp ( progname, "fore_comm" ) == 0; while ( ( c = getopt ( argc, argv, "i:d:f:berv" ) ) != EOF ) switch ( c ) { case 'b': binary++; break; case 'd': dirname = (char *)strdup ( optarg ); break; case 'e': endian++; break; case 'i': devname = (char *)strdup ( optarg ); break; case 'f': objfile = (char *)strdup ( optarg ); break; case 'v': verbose++; break; case 'r': reset++; break; case '?': printf ( "usage: %s [-v] [-i intf] [-d dirname] [-f objfile]\n", argv[0] ); exit ( 2 ); } /* * Unbuffer stdout */ setbuf ( stdout, NULL ); if ( ( fd = socket ( AF_ATM, SOCK_DGRAM, 0 ) ) < 0 ) { perror ( "Cannot create ATM socket" ); exit ( 1 ); } /* * Over allocate memory for returned data. This allows * space for IOCTL reply info as well as config info. */ buf_len = 4 * sizeof(struct air_cfg_rsp); if ( ( buf = (caddr_t)malloc(buf_len) ) == NULL ) { perror ( "Cannot allocate memory for reply" ); exit ( 1 ); } /* * Fill in request paramaters */ req.air_opcode = AIOCS_INF_CFG; req.air_buf_addr = buf; req.air_buf_len = buf_len; /* * Copy interface name into ioctl request */ strcpy ( req.air_cfg_intf, devname ); /* * Issue ioctl */ if ( ( ioctl ( fd, AIOCINFO, (caddr_t)&req ) ) ) { perror ( "ioctl (AIOCSINFO)" ); exit ( 1 ); } /* * Reset buffer pointer */ req.air_buf_addr = buf; /* * Close socket */ close ( fd ); /* * Loop through all attached adapters */ for (; req.air_buf_len >= sizeof(struct air_cfg_rsp); buf += sizeof(struct air_cfg_rsp), req.air_buf_len -= sizeof(struct air_cfg_rsp)) { /* * Point to vendor info */ air = (struct air_cfg_rsp *)buf; if (air->acp_vendor == VENDOR_FORE ) { /* * Create /dev name */ sprintf ( bus_dev, DEV_NAME, air->acp_busslot ); /* * Setup signal handlers */ signal ( SIGINT, SIG_IGN ); signal ( SIGQUIT, SIG_IGN ); /* * If comm_mode, setup terminal for single char I/O */ if ( comm_mode ) { tty = open ( "/dev/tty", O_RDWR ); ioctl ( tty, TCGETA, &sgtty ); sgtty.c_lflag &= ~( ICANON | ECHO ); vmin = sgtty.c_cc[VMIN]; vtime = sgtty.c_cc[VTIME]; sgtty.c_cc[VMIN] = 0; sgtty.c_cc[VTIME] = 0; ioctl ( tty, TCSETA, &sgtty ); } /* * Open bus for memory access */ if ( ( fd = open ( bus_dev, O_RDWR ) ) < 0 ) { perror ( "open bus_dev" ); fprintf(stderr, "%s download failed (%s)\n", air->acp_intf, bus_dev); continue; } /* * Map in the RAM memory to get access to the Uart */ #ifdef __FreeBSD__ /*XXX*/ ram = (u_char *) mmap(0, PCA200E_MMAP_SIZE, #else ram = (u_char *) mmap(0, air->acp_ramsize, #endif PROT_READ | PROT_WRITE, MAP_SHARED, fd, air->acp_ram); if (ram == (u_char *)-1) { perror ( "mmap ram" ); fprintf(stderr, "%s download failed\n", air->acp_intf); (void) close(fd); continue; } Mon = (Mon960 *)(ram + MON960_BASE); Uart = (Mon960 *)&(Mon->mon_xmitmon); /* * Determine endianess */ switch ( Mon->mon_bstat ) { case BOOT_COLDSTART: case BOOT_MONREADY: case BOOT_FAILTEST: case BOOT_RUNNING: break; default: switch (ntohl(Mon->mon_bstat)) { case BOOT_COLDSTART: case BOOT_MONREADY: case BOOT_FAILTEST: case BOOT_RUNNING: endian++; break; default: fprintf(stderr, "%s unknown status\n", air->acp_intf); (void) close(fd); continue; } break; } #ifdef __FreeBSD__ if (reset) { u_int *hcr = (u_int *)(ram + PCA200E_HCR_OFFSET); if ( verbose ) printf( "fore_dnld: reset\n" ); PCA200E_HCR_INIT(*hcr, PCA200E_RESET_BD); delay(10000); PCA200E_HCR_CLR(*hcr, PCA200E_RESET_BD); delay(10000); } #endif if ( comm_mode ) { static struct timeval timeout = { 0, 0 }; int esc_seen = 0; /* * We want to talk with the i960 monitor */ /* * Loop forever accepting characters */ for ( ; ; ) { fd_set fdr; int ns; /* * Check for data from the terminal */ FD_ZERO ( &fdr ); FD_SET ( fileno(stdin), &fdr ); if ( ( ns = select ( FD_SETSIZE, &fdr, NULL, NULL, &timeout ) ) < 0 ) { perror ( "select" ); finish( -1 ); } if ( ns ) { int c; int nr; nr = read ( fileno(stdin), &c, 1 ); c &= 0xff; if ( !esc_seen ) { if ( c == 27 ) esc_seen++; else xmit_byte ( c, 0 ); } else { if ( c == 27 ) finish( -1 ); else { xmit_byte ( 27, 0 ); esc_seen = 0; } xmit_byte ( c, 0 ); } } /* * Check for data from the i960 */ if ( CP_READ(Uart->mon_xmithost) & UART_VALID ) { c = getbyte(0); putchar ( c ); } if ( strcmp ( line, "Mon960" ) == 0 ) autobaud(); } } else { /* * Make sure the driver is loaded and that the CP * is ready for commands */ if ( CP_READ(Mon->mon_bstat) == BOOT_RUNNING ) { fprintf ( stderr, "%s is up and running - no download allowed.\n", air->acp_intf ); (void) close(fd); continue; } if ( CP_READ(Mon->mon_bstat) != BOOT_MONREADY ) { fprintf ( stderr, "%s is not ready for downloading.\n", air->acp_intf ); (void) close(fd); continue; } /* * Indicate who we're downloading */ if ( verbose ) printf ( "Downloading code for %s\n", air->acp_intf ); /* * Look for the i960 monitor message. * We should see this after a board reset. */ if ( verbose ) { printf( "fore_dnld: Look for the i960 monitor message\n" ); printf( " We should see this after a board reset\n" ); } while ( strncmp ( line, "Mon960", 6 ) != 0 && strncmp ( line, "=>", 2 ) != 0 ) getline( verbose ); /* Verbose */ /* * Autobaud fakery */ if ( verbose ) printf( "fore_dnld: Autobaud fakery\n" ); if ( strncmp ( line, "Mon960", 6 ) == 0 ) { xmit_to_i960 ( "\r\n\r\n\r\n\r\n", 8, 0 ); delay ( 10000 ); } /* * Keep reading until we get a command prompt */ if ( verbose ) printf( "fore_dnld: Keep reading until we get a command prompt\n" ); while ( strncmp ( line, "=>", 2 ) != 0 ) getline( verbose ); /* Verbose */ /* * Choose the correct microcode file based on the * adapter type the card claims to be. */ switch ( air->acp_device ) { case DEV_FORE_SBA200: sprintf ( base, "sba200" ); break; case DEV_FORE_SBA200E: sprintf ( base, "sba200e" ); break; case DEV_FORE_PCA200E: sprintf ( base, "pca200e" ); break; default: err = 1; fprintf(stderr, "Unknown adapter type: %d\n", air->acp_device ); } sndfile = NULL; if ( objfile == NULL ) { switch ( air->acp_device ) { case DEV_FORE_SBA200: case DEV_FORE_SBA200E: sprintf ( filename, "%s.bin%d", base, air->acp_bustype ); if ( stat ( filename, &sbuf ) == -1 ) { sprintf ( filename, "%s/%s.bin%d", dirname, base, air->acp_bustype ); if ( stat ( filename, &sbuf ) == -1 ) { ext = 1; sprintf ( filename, "%s.objd%d", base, air->acp_bustype ); if ( stat(filename, &sbuf) == -1 ) { sprintf ( filename, "%s/%s.objd%d", dirname, base, air->acp_bustype ); if ( stat ( filename, &sbuf ) != -1 ) sndfile = filename; } else sndfile = filename; } else sndfile = filename; } else sndfile = filename; break; case DEV_FORE_PCA200E: sprintf ( filename, "%s.bin", base ); if ( stat ( filename, &sbuf ) == -1 ) { sprintf ( filename, "%s/%s.bin", dirname, base ); if ( stat ( filename, &sbuf ) != -1 ) { sndfile = filename; } } else sndfile = filename; break; } } else sndfile = objfile; if ( ext && !binary ) err = xmitfile ( sndfile ); else err = sendbinfile ( sndfile, ram ); if ( err ) { fprintf(stderr, "%s download failed\n", air->acp_intf); (void) close(fd); continue; } /* * Download completed - wait around a while for * the driver to initialize the adapter */ aap = (Aali *)(ram + CP_READ(Mon->mon_appl)); for (i = 0; i < MAX_CHECK; i++, sleep(1)) { u_long hb1, hb2; if (CP_READ(Mon->mon_bstat) != BOOT_RUNNING) continue; hb1 = CP_READ(aap->aali_heartbeat); delay(1); hb2 = CP_READ(aap->aali_heartbeat); if (hb1 < hb2) break; } } close ( fd ); } } /* * Exit */ exit (0); } --------------9989C7D3BEBE615C2248EBCE Content-Type: text/plain; charset=us-ascii; name="rc.atm" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="rc.atm" #!/bin/sh # # ATM networking startup script # # $Id: rc.atm,v 1.2 1998/10/08 08:56:01 phk Exp $ # # Initial interface configuration. # N.B. /usr is not mounted. # atm_pass1() { # Locate all probed ATM adapters atmdev=`atm sh stat int | while read dev junk; do case ${dev} in hea[0-9]|hea[0-9][0-9]) echo "${dev} " ;; hfa[0-9]|hfa[0-9][0-9]) echo "${dev} " ;; *) continue ;; esac done` if [ -z "${atmdev}" ]; then echo "No ATM adapters found." return 0 fi # Load microcode into FORE adapters (if needed) if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then echo "${atmdev}" echo "Download fore microcode" #/sbin/fore_dnld -v -i hfa0 -f /etc/pca200e.bin /sbin/fore_dnld -v -r /sbin/fore_dnld -v -d /etc & fi # Configure physical interfaces ilmid=0 for phy in ${atmdev}; do echo -n "Configuring ATM device ${phy}:" # Define network interfaces eval netif_args=\$atm_netif_${phy} if [ -n "${netif_args}" ]; then atm set netif ${phy} ${netif_args} || continue else echo "missing network interface definition" continue fi # Override physical MAC address eval macaddr_args=\$atm_macaddr_${phy} if [ -n "${macaddr_args}" -a "${macaddr_args}" != "NO" ]; then atm set mac ${phy} ${macaddr_args} || continue fi # Configure signalling manager eval sigmgr_args=\$atm_sigmgr_${phy} if [ -n "${sigmgr_args}" ]; then atm attach ${phy} ${sigmgr_args} || continue else echo "missing signalling manager definition" continue fi # Configure UNI NSAP prefix eval prefix_args=\$atm_prefix_${phy} if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then if [ -z "${prefix_args}" ]; then echo "missing NSAP prefix for UNI interface" continue fi if [ "${prefix_args}" = "ILMI" ]; then ilmid=1 else atm set prefix ${phy} ${prefix_args} || continue fi fi atm_phy="${atm_phy} ${phy}" echo "." done echo -n "Starting initial ATM daemons:" # Start ILMI daemon (if needed) if [ ${ilmid} -eq 1 ]; then echo -n " ilmid" ilmid fi echo "." atm_pass1_done=YES } # # Finish up configuration. # N.B. /usr is not mounted. # atm_pass2() { echo -n "Configuring ATM network interfaces:" atm_scspd=0 atm_atmarpd="" # Configure network interfaces for phy in ${atm_phy}; do eval netif_args=\$atm_netif_${phy} set -- ${netif_args} netname=$1 netcnt=$2 netindx=0 while [ ${netindx} -lt ${netcnt} ]; do net="${netname}${netindx}" netindx=`expr ${netindx} + 1` echo -n " ${net}" # Configure atmarp server eval atmarp_args=\$atm_arpserver_${net} if [ -n "${atmarp_args}" ]; then atm set arpserver ${net} ${atmarp_args} || continue fi eval scsparp_args=\$atm_scsparp_${net} if [ "X${scsparp_args}" = X"YES" ]; then if [ "${atmarp_args}" != "local" ]; then echo "local arpserver required for SCSP" continue fi atm_atmarpd="${atm_atmarpd} ${net}" atm_scspd=1 fi done done echo "." # Define any PVCs. if [ "X${atm_pvcs}" != "X" ]; then for i in ${atm_pvcs}; do eval pvc_args=\$atm_pvc_${i} atm add pvc ${pvc_args} done fi # Define any permanent ARP entries. if [ "X${atm_arps}" != "X" ]; then for i in ${atm_arps}; do eval arp_args=\$atm_arp_${i} atm add arp ${arp_args} done fi atm_pass2_done=YES } # # Start any necessary daemons. # atm_pass3() { # Start SCSP daemon (if needed) if [ ${atm_scspd} -eq 1 ]; then echo -n " scspd" scspd fi # Start ATMARP daemon (if needed) if [ -n "${atm_atmarpd}" ]; then echo -n " atmarpd" atmarpd ${atm_atmarpd} fi atm_pass3_done=YES } --------------9989C7D3BEBE615C2248EBCE Content-Type: text/plain; charset=us-ascii; name="dmesg.atm" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg.atm" Doing initial network setup: hostname. hfa0 Download fore microcode fore_dnld: reset Downloading code for hfa0 fore_dnld: Look for the i960 monitor message We should see this after a board reset fore_dnld: Autobaud fakery fore_dnld: Keep reading until we get a command prompt Mon960 monitor for the Intel i960 CA (step 04) Version 1.0 PCA-200E rev A (1.0), FORE Systems, Inc. Feb 11 1997 Copyright 1992, Intel Corporation =>hfa0 download failed Configuring ATM device hfa0:Downloading code for hfa0 fore_dnld: Look for the i960 monitor message We should see this after a board reset unisig: attached to interface hfa0 uni: set address 0x39.0348.80.01bc90.0001.0186.2c70.000000000000.00 on interface hfa0 atm: Ioctl (AIOCSET) NSAP prefix Essai: Input/output error Starting initial ATM daemons:. --------------9989C7D3BEBE615C2248EBCE Content-Type: text/plain; charset=us-ascii; name="dmesg.boot" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg.boot" Copyright (c) 1992-1999 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.2-RELEASE #0: Mon Aug 2 18:01:39 CEST 1999 herbelot@pc-bsd5.val-9900.telspace.alcatel.fr:/usr/src/sys/compile/Pontium_ATM Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 448054594 Hz CPU: Pentium III (448.05-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x672 Stepping=2 Features=0x383f9ff,> real memory = 67108864 (65536K bytes) config> q avail memory = 62373888 (60912K bytes) Preloaded elf kernel "kernel" at 0xc02ad000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc02ad09c. Probing for devices on PCI bus 0: chip0: rev 0x03 on pci0.0.0 chip1: rev 0x03 on pci0.1.0 xl0: <3Com 3c900B-TPO Etherlink XL> rev 0x04 int a irq 11 on pci0.13.0 xl0: Ethernet address: 00:50:04:3f:08:ea xl0: autonegotiation not supported hfa0: rev 0x00 int a irq 10 on pci0.14.0 chip2: rev 0x02 on pci0.20.0 ide_pci0: rev 0x01 on pci0.20.1 chip3: rev 0x02 on pci0.20.3 Probing for devices on PCI bus 1: vga0: rev 0x03 int a irq 11 on pci1.0.0 Probing for devices on the ISA bus: sc0 on isa sc0: VGA color <16 virtual consoles, flags=0x0> atkbdc0 at 0x60-0x6f on motherboard atkbd0 irq 1 on isa psm0 irq 12 on isa psm0: model Generic PS/2 mouse, device ID 0 sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: FIFO enabled, 8 bytes threshold fd0: 1.44MB 3.5in wdc0 at 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa wdc0: unit 0 (wd0): , DMA, 32-bit, multi-block-16 wd0: 6149MB (12594960 sectors), 13328 cyls, 15 heads, 63 S/T, 512 B/S wdc1 at 0x170-0x177 irq 15 on isa wdc1: unit 0 (atapi): , removable, accel, dma, iordis acd0: drive speed 5500KB/sec, 128KB cache acd0: supported read types: CD-R, CD-RW, CD-DA, packet track acd0: Audio: play, 255 volume levels acd0: Mechanism: ejectable tray acd0: Medium: no/blank disc inside, unlocked, lock protected vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa npx0 on motherboard npx0: INT 16 interface IP packet filtering initialized, divert enabled, rule-based forwarding enabled, default to accept, logging limited to 100 packets/entry changing root device to wd0s2a --------------9989C7D3BEBE615C2248EBCE-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Thu Aug 5 6:42:10 1999 Delivered-To: freebsd-atm@freebsd.org Received: from betelgeuse.advanced.org (betelgeuse.advanced.org [199.222.103.10]) by hub.freebsd.org (Postfix) with ESMTP id 68BA0154D5 for ; Thu, 5 Aug 1999 06:42:07 -0700 (PDT) (envelope-from cerveny@advanced.org) Received: from bill (bill.advanced.org [199.222.103.235]) by betelgeuse.advanced.org (8.9.3/8.9.1) with ESMTP id JAA24985; Thu, 5 Aug 1999 09:41:58 -0400 (EDT) Message-Id: <4.2.0.58.19990805094410.00a733f0@mail.advanced.org> X-Sender: cerveny@mail.advanced.org X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Thu, 05 Aug 1999 09:58:08 -0400 To: thierry.herbelot@alcatel.fr, Mike Spengler From: Bill Cerveny Subject: Re: Set prefix ? Cc: atm@freebsd.org, harp@magic.net In-Reply-To: <37A94CEC.BC73692A@alcatel.fr> References: <199908041857.NAA45021@us.networkcs.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="=====================_2667719==_.ALT" Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --=====================_2667719==_.ALT Content-Type: text/plain; charset="us-ascii"; format=flowed Thierry, I think the fore_dnld command should look like: fore_dnld -r -d /etc/pca200e.bin I added "/pca200e.bin" above and to the appropriate line in the rc.atm file. At least, it doesn't hurt, because I got my configuration working. You might also want to check for a Compaq BIOS update. I had a DEC FDDI card once that "sort of" worked until I updated the BIOS on the Dell 200Mhz PC (I suspect a PCI bus error). Finally, the MD5 signature for the pca200e.bin file I used was: MD5 (/etc/pca200e.bin) = 2dc52f6d1c1180e596704cf9018e6eb6 Good luck! Bill Cerveny At 10:35 AM 8/5/99 +0200, Thierry Herbelot wrote: [stuff deleted] >I have got a full, complete hang of the machine after using a "fore_dnld >-r -d /etc" - the Compaq was completly blocked : no response to >keyboard, no response to ping on the Ethernet, no response on the On/Off >switch (it's an ATX board). I had to unplug the electricity plug to >restart the beast. > >I've also tried to add some debugging messages, but it didn't help. > >We have installed another for board in an old P5-75 from HP, and still >have problems downloading the microcode at startup. > > TfH > > > > -- > > Mike Spengler Network Computing Services, Inc. > > Email: mks@networkcs.com 1200 Washington Ave. So. > > Phone: +1 612 337 3557 Minneapolis MN 55415 > > FAX: +1 612 337 3400 (aka Minnesota Supercomputer > Center) --=====================_2667719==_.ALT Content-Type: text/html; charset="us-ascii" Thierry,

I think the fore_dnld command should look like:

fore_dnld -r -d /etc/pca200e.bin

I added  "/pca200e.bin" above and to the appropriate line in the rc.atm file.  At least, it doesn't hurt, because I got my configuration working.

You might also want to check for a Compaq BIOS update. I had a DEC FDDI card once that "sort of" worked until I updated the BIOS on the Dell 200Mhz PC (I suspect a PCI bus error).

Finally, the MD5 signature for the pca200e.bin file I used was:

MD5 (/etc/pca200e.bin) = 2dc52f6d1c1180e596704cf9018e6eb6

Good luck!

Bill Cerveny

At 10:35 AM 8/5/99 +0200, Thierry Herbelot wrote:

[stuff deleted]

I have got a full, complete hang of the machine after using a "fore_dnld
-r -d /etc" - the Compaq was completly blocked : no response to
keyboard, no response to ping on the Ethernet, no response on the On/Off
switch (it's an ATX board). I had to unplug the electricity plug to
restart the beast.

I've also tried to add some debugging messages, but it didn't help.

We have installed another for board in an old P5-75 from HP, and still
have problems downloading the microcode at startup.

        TfH
>
> --
> Mike Spengler                           Network Computing Services, Inc.
> Email: mks@networkcs.com                1200 Washington Ave. So.
> Phone: +1 612 337 3557                  Minneapolis MN 55415
> FAX:   +1 612 337 3400                  (aka Minnesota Supercomputer Center)
--=====================_2667719==_.ALT-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Thu Aug 5 14:10:47 1999 Delivered-To: freebsd-atm@freebsd.org Received: from marcos.networkcs.com (marcos.networkcs.com [137.66.16.1]) by hub.freebsd.org (Postfix) with ESMTP id 3CB5814CB0 for ; Thu, 5 Aug 1999 14:10:44 -0700 (PDT) (envelope-from mks@us.networkcs.com) Received: from us.networkcs.com (us.networkcs.com [137.66.11.15]) by marcos.networkcs.com (8.9.0.Beta5/8.9.0.Beta5) with ESMTP id QAA29377; Thu, 5 Aug 1999 16:10:14 -0500 (CDT) Received: (from mks@localhost) by us.networkcs.com (8.9.2/8.8.7) id QAA98557; Thu, 5 Aug 1999 16:10:13 -0500 (CDT) From: Mike Spengler Message-Id: <199908052110.QAA98557@us.networkcs.com> Subject: Re: Set prefix ? In-Reply-To: <4.2.0.58.19990805094410.00a733f0@mail.advanced.org> from Bill Cerveny at "Aug 5, 99 09:58:08 am" To: cerveny@advanced.org (Bill Cerveny) Date: Thu, 5 Aug 1999 16:10:13 -0500 (CDT) Cc: thierry.herbelot@alcatel.fr, mks@networkcs.com, atm@freebsd.org, harp@magic.net X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Bill Cerveny said: > > I think the fore_dnld command should look like: > > fore_dnld -r -d /etc/pca200e.bin > > I added "/pca200e.bin" above and to the appropriate line in the rc.atm > file. At least, it doesn't hurt, because I got my configuration working. > Actually, the two options you have are: fore_dnld -r -d /etc or fore_dnld -r -f /etc/pca200e.bin -d specifies the directory in which fore_dnld will look for a microcode file named pca200e.bin (this is the rc.atm default); -f specifies the exact location of the microcode file; -r is an undocumented option to reset the PCA200E before attempting to download the microcode. -- Mike Spengler Network Computing Services, Inc. Email: mks@networkcs.com 1200 Washington Ave. So. Phone: +1 612 337 3557 Minneapolis MN 55415 FAX: +1 612 337 3400 (aka Minnesota Supercomputer Center) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message From owner-freebsd-atm Thu Aug 5 16:25:10 1999 Delivered-To: freebsd-atm@freebsd.org Received: from marcos.networkcs.com (marcos.networkcs.com [137.66.16.1]) by hub.freebsd.org (Postfix) with ESMTP id 6C4DB1512C for ; Thu, 5 Aug 1999 16:22:39 -0700 (PDT) (envelope-from mks@us.networkcs.com) Received: from us.networkcs.com (us.networkcs.com [137.66.11.15]) by marcos.networkcs.com (8.9.0.Beta5/8.9.0.Beta5) with ESMTP id SAA00524; Thu, 5 Aug 1999 18:21:12 -0500 (CDT) Received: (from mks@localhost) by us.networkcs.com (8.9.2/8.8.7) id SAA69931; Thu, 5 Aug 1999 18:21:10 -0500 (CDT) From: Mike Spengler Message-Id: <199908052321.SAA69931@us.networkcs.com> Subject: Re: fore_dnld In-Reply-To: <37A98E2D.D015F6CD@alcatel.fr> from Thierry Herbelot at "Aug 5, 99 03:14:21 pm" To: thierry.herbelot@alcatel.fr Date: Thu, 5 Aug 1999 18:21:10 -0500 (CDT) Cc: mks@networkcs.com, atm@freebsd.org, harp@magic.net X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-atm@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Thierry, > hello, > > we have investigated the download problem, with another PC and a > cooked-up program, which gives verbose error messages (see enclosed > fore_dnld.c), and a slightly modified /etc/rc.atm. > > the enclosed dmesg.atm is an extract of the messages printed on the > console when the machine is booting up. (dmesg.boot being the full dmesg > - giving all peripherals in the machine). > > To sum up : > - we still do not succeed in loading the fore microcode in a PCA200e on > a CompaQ PC when /sbin/fore_dnld is called in /etc/rc.atm at startup. > - the same is happening on an old P5-75 from HP > - we **generally** can load the microcode by invoking two times > /sbin/fore_dnld -d /etc "by hand", after the machine is up and running. > Could you please try and change the fore_dnld in your /etc/rc.atm to: # Load microcode into FORE adapters (if needed) if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then echo "${atmdev}" echo "Download fore microcode" /sbin/fore_dnld -v -r -d /etc fi In the version you sent, the first fore_dnld is failing because you haven't specified any location for the microcode file and the program is using a stupid default (plus there should be better error messages about why it's failing in this case). Otherwise, the first invocation of fore_dnld seemed to be talking to the i960 monitor OK. The second invocation of fore_dnld doesn't seem to be able to get the attention of the monitor. Thus, using the -r (reset) option to really kick the card and, once we have its attention, then immediately trying to do the download hopefully will do the trick. Thanks. -- Mike Spengler Network Computing Services, Inc. Email: mks@networkcs.com 1200 Washington Ave. So. Phone: +1 612 337 3557 Minneapolis MN 55415 FAX: +1 612 337 3400 (aka Minnesota Supercomputer Center) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-atm" in the body of the message