T.R | Title | User | Personal Name | Date | Lines |
---|
6.1 | HUB_LOAD.COM | ROGER::GAUDET | Because the Earth is 2/3 water | Wed Jun 01 1994 14:11 | 170 |
| $!
$! HUB_LOAD.COM
$!
$! VMS command procedure for loading various DEChub device firmware using
$! DECndu Plus.
$!
$! Authors: Tim Gordon (LEVERS::GORDON) and Roger Gaudet (ROGER::GAUDET).
$!
$! Arguments: P1 = Device address of the device to be loaded.
$!
$! Notes:
$!
$! 1) When loading the DECbridge 90 or 90FL, specify the
$! MAC address of the bridge.
$! 2) When loading the DECconcentrator 900MX, specify the
$! in-band IP address of the DEChub 900 Multiswitch.
$!
$! P2 = Firmware image name (include directory spec if the file is
$! not in your default directory)
$!
$! P3 = Optional read_write community string to gain SNMP
$! read-write access to the device (if not "public").
$! To preserve lowercase, enclose this string in double
$! quotes ("").
$!
$! P4 = Optional slot number of the device (some devices need this
$! parameter for a successful load). The procedure will
$! prompt for this argument when needed.
$!
$! Invoke this command procedure as follows:
$!
$! $ @HUB_LOAD <device_address> <firmware_image> [<community_string>] [<slot>]
$!
$! If you omit required parameters, you will be prompted for them.
$!
$ on control_y then goto really_done
$ on warning then goto really_done
$ bell[0,8] = 7
$!
$show_selection:
$ type sys$input
Select the device to be loaded:
[1] DECagent 90 [6] DECrepeater 90FS
[2] DECbridge 90, 90FL [7] DECrepeater 900FP
[3] DECbridge 900MX [8] DECrepeater 900GM
[4] DECconcentrator 900MX [9] DECrepeater 900TM
[5] DEChub 900 MultiSwitch [10] Exit
$ inquire select "Enter your selection"
$ if select .eq. 10 then goto really_done
$ if select .ge. 1 .and. select .le. 9 then goto select_ok
$ write sys$output "''bell'"
$ write sys$output "*** Invalid selection. Please try again."
$ goto show_selection
$!
$select_ok:
$ if p1 .eqs. "" then inquire p1 "Device address"
$ if p1 .eqs. "" then goto done
$!
$get_firmware:
$ if p2 .eqs. "" then inquire p2 "Firmware image"
$ if p2 .eqs. "" then goto done
$!
$ if f$search(p2) .eqs. ""
$ then
$ write sys$output "''bell'"
$ write sys$output "*** Firmware image ''p2' not found! Please try again."
$ write sys$output ""
$ p2 = ""
$ goto get_firmware
$ endif
$!
$! Don't need to ask for the community string if it's a DECbridge 90 or 90FL
$!
$ if p3 .eqs. "" .and. select .ne. 2
$ then
$ inquire p3 "Community String [public]"
$ if p3 .eqs. "" then p3 = "public"
$ endif
$ pass = "/pass=""''p3'"""
$!
$! Need slot number for DECconcentrator 900MX (MAM-assisted load)
$!
$get_slot:
$ if select .eq. 4 .and. p4 .eqs. ""
$ then
$ inquire p4 "Slot number"
$ if p4 .eqs. "" then goto done
$ endif
$ if p4 .eqs. "" then goto do_load
$ if f$integer(p4) .lt. 1 .or. f$integer(p4) .gt. 8
$ then
$ write sys$output "''bell'"
$ write sys$output "*** Slot ''p4' is out of range (1-8). Please try again."
$ write sys$output ""
$ p4 = ""
$ goto get_slot
$ endif
$!
$do_load:
$ download show version
$ download show device 'p1'
$ goto load_'select'
$!
$! DECagent 90
$!
$load_1:
$ download load 'p1' 'p2' /force=DECagent 'pass'
$ goto done
$!
$! DECbridge 90, 90FL
$!
$load_2:
$ download load 'p1' 'p2' /nomanagement
$ goto done
$!
$! DECbridge 900MX
$!
$load_3:
$ download load 'p1' 'p2' /force=pcommon 'pass'
$ goto done
$!
$! DECconcentrator 900MX
$!
$load_4:
$ download load 'p1' 'p2' /module='p4' /force=hubmodule 'pass'
$ goto done
$!
$! DEChub 900 MultiSwitch
$!
$load_5:
$ download load 'p1' 'p2' /module=9 /force=hubmanv2 'pass'
$ goto done
$!
$! DECrepeater 90FS
$!
$load_6:
$ download load 'p1' 'p2' /force=pcommon 'pass'
$ goto done
$!
$! DECrepeater 900FP
$!
$load_7:
$ download load 'p1' 'p2' /force=pcommon 'pass'
$ goto done
$!
$! DECrepeater 900GM
$!
$load_8:
$ download load 'p1' 'p2' /force=pcommon 'pass'
$ goto done
$!
$! DECrepeater 900TM
$!
$load_9:
$ download load 'p1' 'p2' /force=pcommon 'pass'
$ goto done
$!
$done:
$ p1 = ""
$ p2 = ""
$ p3 = ""
$ p4 = ""
$ write sys$output ""
$ inquire /nopunct load_again "Load another device? [Y/<N>] "
$ if load_again then goto show_selection
$really_done:
$ exit
|
6.3 | | TENNIS::KAM | Kam USDS (714)261-4133 (DTN 535) IVO | Wed Nov 30 1994 12:15 | 18 |
| Am I missing something in running this command procedure?
TENNIS$ @hub_load
Select the device to be loaded:
1.) DECagent 90 7.) DECrepeater 90TS
2.) DECbridge 90, 90FL 8.) DECrepeater 900FP
3.) DECbridge 900MX 9.) DECrepeater 900GM
4.) DECconcentrator 900MX 10.) DECrepeater 900TM
5.) DEChub 900 MultiSwitch 11.) Exit
6.) DECrepeater 90FS
Enter your selection: 1
Device TCP/IP address: 16.62.64.113
%DCL-W-INSFPRM, missing command parameters - supply all required parameters
|
6.2 | Updated HUB_LOAD.COM | ROGER::GAUDET | Because the Earth is 2/3 water | Wed Nov 30 1994 14:19 | 241 |
| $!
$! HUB_LOAD.COM
$!
$! VMS command procedure for loading various DEChub device firmware using
$! DECndu Plus.
$!
$! Authors: Tim Gordon (LEVERS::GORDON) and Roger Gaudet (ROGER::GAUDET).
$!
$! Modified: Jon J. Danzak (PTOJJD::DANZAK)
$! (Added parameter driven lists, default images and some minimal error
$! checks)
$!
$! Modified: Roger Gaudet
$! (Add 'start' label so when user says "Yes" to "Load another device" the
$! procedure will display the entire device menu)
$!
$! Arguments: P1 = Device address of the device to be loaded.
$!
$! Notes:
$!
$! 1) When loading the DECbridge 90 or 90FL, specify the
$! MAC address of the bridge.
$! 2) When loading the DECconcentrator 900MX, specify the
$! in-band IP address of the DEChub 900 Multiswitch.
$!
$! P2 = Firmware image name (include directory spec if the file is
$! not in your default directory)
$!
$! P3 = Optional read_write community string to gain SNMP
$! read-write access to the device (if not "public").
$! To preserve lowercase, enclose this string in double
$! quotes ("").
$!
$! P4 = Optional slot number of the device (some devices need this
$! parameter for a successful load). The procedure will
$! prompt for this argument when needed.
$!
$! Invoke this command procedure as follows:
$!
$! $ @HUB_LOAD <device_address> <firmware_image> [<community_string>] [<slot>]
$!
$! If you omit required parameters, you will be prompted for them.
$!
$ on control_y then goto really_done
$ on warning then goto really_done
$ bell[0,8] = 7
$!
$start:
$!
$! List of images, corresponds to list of names
$!
$defs="DENMA021.SYS;DEWGB310.SYS;DEFBA140.BIN;DEF6X280.BIN;DMHUB310.BIN;"
$defs=defs+"DEFMI110.BIN;DETMI110.BIN;DEFMM110.BIN;DETTM110.BIN;"
$defs=defs+"DETMM110.BIN;Exit"
$!
$! List of names, corresponds to images, ends with Exit
$!
$names="DECagent 90;DECbridge 90, 90FL;DECbridge 900MX;DECconcentrator 900MX;"
$names=names+"DEChub 900 MultiSwitch;DECrepeater 90FS;DECrepeater 90TS;"
$names=names+"DECrepeater 900FP;DECrepeater 900GM;DECrepeater 900TM;Exit"
$!
$!
$! Specify Internet or Ethernet
$!
$addrs="I;E;I;I;I;I;I;I;I;I;Exit"
$
$!
$! Build a list of default images...
$!
$count=0
$def_loop:
$count=count+1
$def'count'=f$extract(0,f$locate(";",defs),defs) !extract up to semi
$defs=defs-def'count'-";" !remove from list
$if defs.nes."" then $goto def_loop !until null
$!
$max=count !save as max...
$!
$count=0
$name_loop:
$count=count+1
$name'count'=f$extract(0,f$locate(";",names),names) !extract up to semi
$names=names-name'count'-";" !remove from list
$if names.nes."" then $goto name_loop !until null
$!
$count=0
$addr_loop:
$count=count+1
$addr'count'=f$extract(0,f$locate(";",addrs),addrs) !extract up to semi
$addrs=addrs-addr'count'-";" !remove from list
$if addrs.nes."" then $goto addr_loop !until null
$!
$temp=max+1 !zap to pretty print if dangling last on right
$name'temp'=""
$addr'temp'=""
$def'temp'=""
$!
$! Compute maximum line
$!
$temp=max/2
$if (max/2).ne.(max/2)*2 then $temp=(max+1)/2
$!
$! Say hello to the world and list stuff
$!
$show_selection:
$ type sys$input
Select the device to be loaded:
$
$line=0
$line_loop:
$line=line+1
$test=temp+line !parallel line
$out=" "
$temp1=name'line'
$temp1="''line'.) ''temp1'"
$out[5,f$len(temp1)+5]:="''temp1'"
$temp2=""
$if name'test'.eqs."" then $goto print
$temp2=name'test'
$temp2="''test'.) ''temp2'"
$out[40,f$len(temp1)+40]:="''temp2'"
$print:
$write sys$output out
$if line.lt.temp then $goto line_loop
$!
$write sys$Output " "
$ inquire select "Enter your selection"
$ if select .eqs. "" .or. select .eq. max then goto really_done
$ if select .ge. 1 .and. select .le. max-1 then goto select_ok
$ write sys$output "''bell'"
$ write sys$output "*** Invalid selection. Please try again."
$ goto show_selection
$!
$select_ok:
$!
$if addr'select'.eqs."E" then temp="Ethernet"
$if addr'select'.eqs."I" then temp="TCP/IP"
$ if p1 .eqs. "" then inquire p1 "Device ''temp' address"
$ if p1 .eqs. "" then goto done
$!
$! Check for a "-" in Ethernet address or "." in Internet address
$! Enet address is also 17 characters long
$!
$if (addr'select'.eqs."E").and.-
(f$len(p1).eq.17).and.-
(f$locate("-",p1).ne.f$len(p1)) then $goto get_firmware
$if addr'select'.eqs."I".and.(f$locate(".",p1).ne.f$len(p1)) then $goto get_firmware
$ write sys$output "''bell'"
$ write sys$output "*** Invalid selection. Please try again."
$p1=""
$goto select_ok
$
$!
$get_firmware:
$def="MOM$LOAD:"+def'select'
$ if p2 .eqs. "" then inquire p2 "Firmware image (''def')"
$if p2.eqs."" then $p2=def
$write sys$Output "Image will be ''p2'
$ if p2 .eqs. "" then goto done
$!
$ if f$search(p2) .eqs. ""
$ then
$ write sys$output "''bell'"
$ write sys$output "*** Firmware image ''p2' not found! Please try again."
$ write sys$output ""
$ p2 = ""
$ goto get_firmware
$ endif
$!
$! Don't need to ask for the community string if it's a DECbridge 90 or 90FL
$!
$ if p3 .eqs. "" .and. select .ne. 2
$ then
$ inquire p3 "Community String [public]"
$ if p3 .eqs. "" then p3 = "public"
$ endif
$ pass = "/pass=""''p3'"""
$!
$! Need slot number for DECconcentrator 900MX (MAM-assisted load)
$!
$get_slot:
$ if select .eq. 4 .and. p4 .eqs. ""
$ then
$ inquire p4 "Slot number"
$ if p4 .eqs. "" then goto done
$ endif
$ if p4 .eqs. "" then goto do_load
$ if f$integer(p4) .lt. 1 .or. f$integer(p4) .gt. 8
$ then
$ write sys$output "''bell'"
$ write sys$output "*** Slot ''p4' is out of range (1-8). Please try again."
$ write sys$output ""
$ p4 = ""
$ goto get_slot
$ endif
$!
$do_load:
$ goto load_'select'
$!
$load_1: ! DECagent 90
$!
$ download load 'p1' 'p2' /force=DECagent 'pass'
$ goto done
$!
$load_2: ! DECbridge 90, 90FL
$!
$ download load 'p1' 'p2' /nomanagement
$ goto done
$!
$load_4: ! DECconcentrator 900MX
$!
$ download load 'p1' 'p2' /module='p4' /force=hubmodule 'pass'
$ goto done
$!
$load_5: ! DEChub 900 MultiSwitch
$!
$ download load 'p1' 'p2' /module=9 /force=hubmanv2 'pass'
$ goto done
$!
$load_3: ! DECbridge 900MX
$load_6: ! DECrepeater 90FS
$load_7: ! DECrepeater 90TS
$load_8: ! DECrepeater 900FP
$load_9: ! DECrepeater 900GM
$load_10: ! DECrepeater 900TM
$!
$ download load 'p1' 'p2' /force=pcommon 'pass'
$ goto done
$!
$done:
$ p1 = ""
$ p2 = ""
$ p3 = ""
$ p4 = ""
$ write sys$output ""
$ inquire /nopunct load_again "Load another device? [Y/<N>] "
$ if load_again then goto start
$really_done:
$ exit
|
6.4 | Bitten by the DECwindows Notes editor! | ROGER::GAUDET | Because the Earth is 2/3 water | Wed Nov 30 1994 14:25 | 6 |
| No, you're not missing anything. When I originally entered the command procedure one
of the lines got truncated and wrapped, causing it to become an incomplete DCL command
line. Line 149 is the culprit. I have modified note 6.2 so that "wrap" is eliminated.
Extract the note and try again. Sorry about that.
...Roger...
|
6.5 | New HUB_LOAD.COM for OpenVMS VAX ... thanks to Jon Danzak | ROGER::GAUDET | Because the Earth is 2/3 water | Fri Jun 30 1995 15:12 | 285 |
| $!
$! HUB_LOAD.COM
$!
$! VMS command procedure for loading various DEChub device firmware using
$! DECndu Plus.
$!
$! Authors: Tim Gordon (LEVERS::GORDON) and Roger Gaudet (ROGER::GAUDET).
$!
$! Modified: Jon J. Danzak (PTOJJD::DANZAK)
$! (Added parameter driven lists, default images and some minimal error
$! checks)
$!
$! Modified: Roger Gaudet
$! (Add 'start' label so when user says "Yes" to "Load another device" the
$! procedure will display the entire device menu)
$!
$! Modified: Jon J. Danzak (PTOJJD::DANZAK)
$! Added version 4 images *AND* will search for most RECENT image in
$! MOM$LOAD
$!
$! Arguments: P1 = Device address of the device to be loaded.
$!
$! Notes:
$!
$! 1) When loading the DECbridge 90 or 90FL, specify the
$! MAC address of the bridge.
$! 2) When loading the DECconcentrator 900MX, specify the
$! in-band IP address of the DEChub 900 Multiswitch.
$!
$! P2 = Firmware image name (include directory spec if the file is
$! not in your default directory)
$!
$! P3 = Optional read_write community string to gain SNMP
$! read-write access to the device (if not "public").
$! To preserve lowercase, enclose this string in double
$! quotes ("").
$!
$! P4 = Optional slot number of the device (some devices need this
$! parameter for a successful load). The procedure will
$! prompt for this argument when needed.
$!
$! Invoke this command procedure as follows:
$!
$! $ @HUB_LOAD <device_address> <firmware_image> [<community_string>] [<slot>]
$!
$! If you omit required parameters, you will be prompted for them.
$!
$ on control_y then goto really_done
$ on warning then goto really_done
$ bell[0,8] = 7
$!
$type sys$Input
Please be sure to DISABLE any TFTP or BOOTP service running
on your system before proceeding. If UCX (or equivalent) TFTP
or BOOTP services are running NDU will *NOT* be able to upgrade.
Use the UCX commands:
SET SERVICE BOOTP/DISABLE
SET SERVICE TFTP/DISABLE
And, do a SHOW SYSTEM and STOP/ID any BOOTP or TFTP processes.
$
$inquire/nopun x "Push RETURN to continue..."
$!
$start:
$!
$! List of images, corresponds to list of names
$!
$defs= "denma*.sys;dewgb*.sys;def6x*.bin;"
$defs=defs+"defhu*.bin;dmhub*.bin;dtmxm*.bin;"
$defs=defs+"defmi*.bin;detmi*.bin;dettm*.bin;"
$defs=defs+"detmm*.bin;debmp*.bin;defba*.bin;"
$defs=defs+"desbf*.bin;decpm*.bin;defmm*.bin;"
$defs=defs+"detpj*.bin;EXIT"
$!
$! List of names, corresponds to images, ends with Exit
$!
$names= "DECagent 90;DECbridge 90, 90FL;DECconcentrator 900MX;
$names=names+"DECconcentrator 900TH;DEChub 900 MultiSwitch;DECmau 900TH;"
$names=names+"DECrepeater 90FS;DECrepeater 90TS;DECrepeater 900GM;"
$names=names+"DECrepeater 900TM;DECswitch 900EE;DECswitch 900EF;"
$names=names+"PEswitch 900TX;PORTswitch 900CP;PORTswitch 900FP;"
$names=names+"PORTswitch 900TP;EXIT"
$!
$! Specify Internet or Ethernet
$!
$addrs="I;E;I;I;I;I;I;I;I;I;I;I;I;I;I;I;Exit"
$
$!
$! Build a list of default images...
$!
$count=0
$def_loop:
$count=count+1
$def'count'=f$extract(0,f$locate(";",defs),defs) !extract up to semi
$defs=defs-def'count'-";" !remove from list
$temp="mom$load:"+def'count'
$old=""
$search:
$x=f$search(temp)
$if x.eqs."" then $goto sdone
$if f$parse(x,,,"name").les.f$parse(old,,,"name") then $goto search
$old=x
$goto search
$sdone:
$!
$def'count'=f$parse(old,,,"name")+f$parse(old,,,"type")
$if defs.nes."" then $goto def_loop !until null
$!
$max=count !save as max...
$!
$count=0
$name_loop:
$count=count+1
$name'count'=f$extract(0,f$locate(";",names),names) !extract up to semi
$names=names-name'count'-";" !remove from list
$if names.nes."" then $goto name_loop !until null
$!
$count=0
$addr_loop:
$count=count+1
$addr'count'=f$extract(0,f$locate(";",addrs),addrs) !extract up to semi
$addrs=addrs-addr'count'-";" !remove from list
$if addrs.nes."" then $goto addr_loop !until null
$!
$temp=max+1 !zap to pretty print if dangling last on right
$name'temp'=""
$addr'temp'=""
$def'temp'=""
$!
$! Compute maximum line
$!
$temp=max/2
$if (max/2).ne.(max/2)*2 then $temp=(max+1)/2
$!
$! Say hello to the world and list stuff
$!
$show_selection:
$ type sys$input
Select the device to be loaded:
$
$line=0
$line_loop:
$line=line+1
$test=temp+line !parallel line
$out=" "
$temp1=name'line'
$temp1="''line'.) ''temp1'"
$out[5,f$len(temp1)+5]:="''temp1'"
$temp2=""
$if name'test'.eqs."" then $goto print
$temp2=name'test'
$temp2="''test'.) ''temp2'"
$out[40,f$len(temp1)+40]:="''temp2'"
$print:
$write sys$output out
$if line.lt.temp then $goto line_loop
$!
$write sys$Output " "
$ inquire select "Enter your selection"
$ if select .eqs. "" .or. select .eq. max then goto really_done
$ if select .ge. 1 .and. select .le. max-1 then goto select_ok
$ write sys$output "''bell'"
$ write sys$output "*** Invalid selection. Please try again."
$ goto show_selection
$!
$select_ok:
$!
$if addr'select'.eqs."E" then temp="Ethernet"
$if addr'select'.eqs."I" then temp="TCP/IP"
$ if p1 .eqs. "" then inquire p1 "Device ''temp' address"
$ if p1 .eqs. "" then goto done
$!
$! Check for a "-" in Ethernet address or "." in Internet address
$! Enet address is also 17 characters long
$!
$if (addr'select'.eqs."E").and.-
(f$len(p1).eq.17).and.-
(f$locate("-",p1).ne.f$len(p1)) then $goto get_firmware
$if addr'select'.eqs."I".and.(f$locate(".",p1).ne.f$len(p1)) then $goto
get_firmware
$ write sys$output "''bell'"
$ write sys$output "*** Invalid selection. Please try again."
$p1=""
$goto select_ok
$
$!
$get_firmware:
$def="MOM$LOAD:"+def'select'
$ if p2 .eqs. "" then inquire p2 "Firmware image (''def')"
$if p2.eqs."" then $p2=def
$write sys$Output "Image will be ''p2'
$ if p2 .eqs. "" then goto done
$!
$ if f$search(p2) .eqs. ""
$ then
$ write sys$output "''bell'"
$ write sys$output "*** Firmware image ''p2' not found! Please try again."
$ write sys$output ""
$ p2 = ""
$ goto get_firmware
$ endif
$!
$! Don't need to ask for the community string if it's a DECbridge 90 or 90FL
$!
$ if p3 .eqs. "" .and. select .ne. 2
$ then
$ inquire p3 "Community String [public]"
$ if p3 .eqs. "" then p3 = "public"
$ endif
$ pass = "/pass=""''p3'"""
$!
$! Need slot number for DECconcentrator 900MX (MAM-assisted load)
$!
$get_slot:
$ if select .eq. 4 .and. p4 .eqs. ""
$ then
$ inquire p4 "Slot number"
$ if p4 .eqs. "" then goto done
$ endif
$ if p4 .eqs. "" then goto do_load
$ if f$integer(p4) .lt. 1 .or. f$integer(p4) .gt. 8
$ then
$ write sys$output "''bell'"
$ write sys$output "*** Slot ''p4' is out of range (1-8). Please try again."
$ write sys$output ""
$ p4 = ""
$ goto get_slot
$ endif
$!
$do_load:
$ goto load_'select'
$!
$load_1: ! DECagent 90
$!
$ download load 'p1' 'p2' /force=DECagent 'pass'
$ goto done
$!
$load_2: ! DECbridge 90, 90FL
$!
$ download load 'p1' 'p2' /nomanagement
$ goto done
$!
$load_4: ! DECconcentrator 900MX
$!
$ download load 'p1' 'p2' /module='p4' /force=hubmodule 'pass'
$ goto done
$!
$load_5: ! DEChub 900 MultiSwitch
$!
$ download load 'p1' 'p2' /module=9 /force=hubmanv2 'pass'
$ goto done
$!
$load_3: ! DECbridge 900MX
$load_6: ! DECrepeater 90FS
$load_7: ! DECrepeater 90TS
$load_8: ! DECrepeater 900FP
$load_9: ! DECrepeater 900GM
$load_10: ! DECrepeater 900TM
$load_11:
$load_12:
$load_13:
$load_14:
$load_15:
$load_16:
$!
$ download load 'p1' 'p2' /force=pcommon 'pass'
$ goto done
$!
$done:
$ p1 = ""
$ p2 = ""
$ p3 = ""
$ p4 = ""
$ write sys$output ""
$ inquire /nopunct load_again "Load another device? [Y/<N>] "
$ if load_again then goto start
$really_done:
$ exit
|
6.6 | HUB_LOAD file won't upgrade anything | RDGENG::GREID | Hail,Hail,Hail and Kill! | Wed Jul 05 1995 12:46 | 96 |
| Roger,
I seem to be having trouble with this command procedure. I have
run it on two systems running NDUPLUS and DCF V4 and have UCX correctly
configured but with TFTP and BOOTP disabled as instructed.
I get the following errors :-
RDGDNS..>@Hub_load.com
Please be sure to DISABLE any TFTP or BOOTP service running
on your system before proceeding. If UCX (or equivalent) TFTP
or BOOTP services are running NDU will *NOT* be able to upgrade.
Use the UCX commands:
SET SERVICE BOOTP/DISABLE
SET SERVICE TFTP/DISABLE
And, do a SHOW SYSTEM and STOP/ID any BOOTP or TFTP processes.
Push RETURN to continue...
Select the device to be loaded:
1.) DECagent 90 10.) DECrepeater 900TM
2.) DECbridge 90, 90FL 11.) DECswitch 900EE
3.) DECconcentrator 900MX 12.) DECswitch 900EF
4.) DECconcentrator 900TH 13.) PEswitch 900TX
5.) DEChub 900 MultiSwitch 14.) PORTswitch 900CP
6.) DECmau 900TH 15.) PORTswitch 900FP
7.) DECrepeater 90FS 16.) PORTswitch 900TP
8.) DECrepeater 90TS 17.) EXIT
9.) DECrepeater 900GM
Enter your selection: 5
Device TCP/IP address: 16.36.0.75
%DCL-W-INSFPRM, missing command parameters - supply all required
parameters
RDGDNS..>@hub_load.com
Please be sure to DISABLE any TFTP or BOOTP service running
on your system before proceeding. If UCX (or equivalent) TFTP
or BOOTP services are running NDU will *NOT* be able to upgrade.
Use the UCX commands:
SET SERVICE BOOTP/DISABLE
SET SERVICE TFTP/DISABLE
And, do a SHOW SYSTEM and STOP/ID any BOOTP or TFTP processes.
Push RETURN to continue...
Select the device to be loaded:
1.) DECagent 90 10.) DECrepeater 900TM
2.) DECbridge 90, 90FL 11.) DECswitch 900EE
3.) DECconcentrator 900MX 12.) DECswitch 900EF
4.) DECconcentrator 900TH 13.) PEswitch 900TX
5.) DEChub 900 MultiSwitch 14.) PORTswitch 900CP
6.) DECmau 900TH 15.) PORTswitch 900FP
7.) DECrepeater 90FS 16.) PORTswitch 900TP
8.) DECrepeater 90TS 17.) EXIT
9.) DECrepeater 900GM
Enter your selection:2
Device Ethernet address: 08-00-2b-92-27-37
Firmware image (MOM$LOAD:DEWGB390.SYS):
Image will be MOM$LOAD:DEWGB390.SYS
(c) Digital Equipment Corporation. 1993. All Rights Reserved.
%NDU-E-OTHER_USER, protocol being used by other user
%SYSTEM-F-BADPARAM, bad parameter value
RDGDNS..>
On the second example there are no UCX$TFTP or BOOTP processes running,
yet It still complains.
Giles.
|
6.7 | MOP console is busy? | ROGER::GAUDET | Because the Earth is 2/3 water | Wed Jul 05 1995 18:41 | 12 |
| Giles,
I do not have an answer for your first problem (I was unable to reproduce it
here) but for the second problem, do you by chance have a MOP connection to
bridge? If you (or someone else) is NCP CONNECTed to the bridge then NDU cannot
load it (the MOP console carrier is busy). This will cause this error. To
check this out, try an NCP CONNECT to the bridge's MAC address. It you cannot
connect that way then NDU will not be able to load it.
Maybe Jon Danzak has a suggestion about the first problem? Jon?
...Roger...
|
6.8 | No MOP connection at the time of HUB_LOAD | RDGENG::GREID | Hail,Hail,Hail and Kill! | Thu Jul 06 1995 05:02 | 8 |
| Roger,
Thats the strange thing about the second problem, I can MOP connect
to the Bridge ok, and wasn't connected to it when I was trying to load
it. I can still connect the same way to the Bridge but HUB_LOAD won't
party at all with it.
Giles.
|
6.9 | Verify set on | RDGENG::GREID | Hail,Hail,Hail and Kill! | Thu Jul 06 1995 07:49 | 35 |
| Roger,
Here is the output from a set verify session, the same error I
can regenerate on four different systems (3 running DECnet/OSI and 1
Phase IV).
$ inquire select "Enter your selection"
Enter your selection: 1
1
$ if select .eqs. "" .or. select .eq. max then goto really_done
$ if select .ge. 1 .and. select .le. max-1 then goto select_ok
$select_ok:
$!
$if addr1.eqs."E" then temp="Ethernet"
$if addr1.eqs."I" then temp="TCP/IP"
$ if p1 .eqs. "" then inquire p1 "Device TCP/IP address"
Device TCP/IP address: 16.36.0.202
16.36.0.202
$ if p1 .eqs. "" then goto done
$!
$! Check for a "-" in Ethernet address or "." in Internet address
$! Enet address is also 17 characters long
$!
$if (addr1.eqs."E").and.-
(f$len(p1).eq.17).and.-
(f$locate("-",p1).ne.f$len(p1)) then $goto get_firmware
$if addr1.eqs."I".and.(f$locate(".",p1).ne.f$len(p1)) then $goto
%DCL-W-INSFPRM, missing command parameters - supply all required
parameters
$really_done:
$ exit
Hope this helps ?
Giles.
|
6.10 | Missing a little "-" | MSDOA::REED | John Reed @CBO = Network Services | Thu Jul 06 1995 10:40 | 21 |
| This is the same error as .3 suggests. Line 149 is STILL the
culprit. Ensure that a continuation dash is at the end of this line:
$if addr'select'.eqs."I".and.(f$locate(".",p1).ne.f$len(p1)) then $goto
get_firmware
$
as it appears, it will not work.
Try to compact the line so that it fits into your view, and be sure
that a DASH is at the end of any continued line...
$if addr'select'.eqs."I" -
.and.(f$locate(".",p1).ne.f$len(p1)) -
then $goto get_firmware
$
JR
|
6.11 | Bitten by the truncating line problem ... again! | ROGER::GAUDET | Because the Earth is 2/3 water | Thu Jul 06 1995 10:41 | 14 |
| AhhhhhhhHH! DECwindows NOTES did it to me again!!!
One of the lines in the command file got truncated when I imported it into
NOTES. That's why you're getting the DCL error. I'll repost an updated command
file in the next reply. You can also fix this problem very easily by making
sure your copy of the command file has the label "get_firmware" after the "goto"
statement on the failing line.
As for the MOP connect problem, that's very strange. As long as you disconnect
the NCP session you should be able to get to the bridge with NDU. Can you do a
$ DOWNLOAD SHOW DEVICE 08-00-2b-92-27-37 to see if NDU can talk to the bridge at
all?
...Roger...
|
6.12 | HUB_LOAD.COM ... 80 columns | ROGER::GAUDET | Because the Earth is 2/3 water | Thu Jul 06 1995 10:42 | 285 |
| $!
$! HUB_LOAD.COM
$!
$! VMS command procedure for loading various DEChub device firmware using
$! DECndu Plus.
$!
$! Authors: Tim Gordon (LEVERS::GORDON) and Roger Gaudet (ROGER::GAUDET).
$!
$! Modified: Jon J. Danzak (PTOJJD::DANZAK)
$! (Added parameter driven lists, default images and some minimal error
$! checks)
$!
$! Modified: Roger Gaudet
$! (Add 'start' label so when user says "Yes" to "Load another device" the
$! procedure will display the entire device menu)
$!
$! Modified: Jon J. Danzak (PTOJJD::DANZAK)
$! Added version 4 images *AND* will search for most RECENT image in
$! MOM$LOAD
$!
$! Arguments: P1 = Device address of the device to be loaded.
$!
$! Notes:
$!
$! 1) When loading the DECbridge 90 or 90FL, specify the
$! MAC address of the bridge.
$! 2) When loading the DECconcentrator 900MX, specify the
$! in-band IP address of the DEChub 900 Multiswitch.
$!
$! P2 = Firmware image name (include directory spec if the file is
$! not in your default directory)
$!
$! P3 = Optional read_write community string to gain SNMP
$! read-write access to the device (if not "public").
$! To preserve lowercase, enclose this string in double
$! quotes ("").
$!
$! P4 = Optional slot number of the device (some devices need this
$! parameter for a successful load). The procedure will
$! prompt for this argument when needed.
$!
$! Invoke this command procedure as follows:
$!
$! $ @HUB_LOAD <device_address> <firmware_image> [<community_string>] [<slot>]
$!
$! If you omit required parameters, you will be prompted for them.
$!
$ on control_y then goto really_done
$ on warning then goto really_done
$ bell[0,8] = 7
$!
$type sys$Input
Please be sure to DISABLE any TFTP or BOOTP service running
on your system before proceeding. If UCX (or equivalent) TFTP
or BOOTP services are running NDU will *NOT* be able to upgrade.
Use the UCX commands:
SET SERVICE BOOTP/DISABLE
SET SERVICE TFTP/DISABLE
And, do a SHOW SYSTEM and STOP/ID any BOOTP or TFTP processes.
$
$inquire/nopun x "Push RETURN to continue..."
$!
$start:
$!
$! List of images, corresponds to list of names
$!
$defs= "denma*.sys;dewgb*.sys;def6x*.bin;"
$defs=defs+"defhu*.bin;dmhub*.bin;dtmxm*.bin;"
$defs=defs+"defmi*.bin;detmi*.bin;dettm*.bin;"
$defs=defs+"detmm*.bin;debmp*.bin;defba*.bin;"
$defs=defs+"desbf*.bin;decpm*.bin;defmm*.bin;"
$defs=defs+"detpj*.bin;EXIT"
$!
$! List of names, corresponds to images, ends with Exit
$!
$names= "DECagent 90;DECbridge 90, 90FL;DECconcentrator 900MX;
$names=names+"DECconcentrator 900TH;DEChub 900 MultiSwitch;DECmau 900TH;"
$names=names+"DECrepeater 90FS;DECrepeater 90TS;DECrepeater 900GM;"
$names=names+"DECrepeater 900TM;DECswitch 900EE;DECswitch 900EF;"
$names=names+"PEswitch 900TX;PORTswitch 900CP;PORTswitch 900FP;"
$names=names+"PORTswitch 900TP;EXIT"
$!
$! Specify Internet or Ethernet
$!
$addrs="I;E;I;I;I;I;I;I;I;I;I;I;I;I;I;I;Exit"
$
$!
$! Build a list of default images...
$!
$count=0
$def_loop:
$count=count+1
$def'count'=f$extract(0,f$locate(";",defs),defs) !extract up to semi
$defs=defs-def'count'-";" !remove from list
$temp="mom$load:"+def'count'
$old=""
$search:
$x=f$search(temp)
$if x.eqs."" then $goto sdone
$if f$parse(x,,,"name").les.f$parse(old,,,"name") then $goto search
$old=x
$goto search
$sdone:
$!
$def'count'=f$parse(old,,,"name")+f$parse(old,,,"type")
$if defs.nes."" then $goto def_loop !until null
$!
$max=count !save as max...
$!
$count=0
$name_loop:
$count=count+1
$name'count'=f$extract(0,f$locate(";",names),names) !extract up to semi
$names=names-name'count'-";" !remove from list
$if names.nes."" then $goto name_loop !until null
$!
$count=0
$addr_loop:
$count=count+1
$addr'count'=f$extract(0,f$locate(";",addrs),addrs) !extract up to semi
$addrs=addrs-addr'count'-";" !remove from list
$if addrs.nes."" then $goto addr_loop !until null
$!
$temp=max+1 !zap to pretty print if dangling last on right
$name'temp'=""
$addr'temp'=""
$def'temp'=""
$!
$! Compute maximum line
$!
$temp=max/2
$if (max/2).ne.(max/2)*2 then $temp=(max+1)/2
$!
$! Say hello to the world and list stuff
$!
$show_selection:
$ type sys$input
Select the device to be loaded:
$
$line=0
$line_loop:
$line=line+1
$test=temp+line !parallel line
$out=" "
$temp1=name'line'
$temp1="''line'.) ''temp1'"
$out[5,f$len(temp1)+5]:="''temp1'"
$temp2=""
$if name'test'.eqs."" then $goto print
$temp2=name'test'
$temp2="''test'.) ''temp2'"
$out[40,f$len(temp1)+40]:="''temp2'"
$print:
$write sys$output out
$if line.lt.temp then $goto line_loop
$!
$write sys$Output " "
$ inquire select "Enter your selection"
$ if select .eqs. "" .or. select .eq. max then goto really_done
$ if select .ge. 1 .and. select .le. max-1 then goto select_ok
$ write sys$output "''bell'"
$ write sys$output "*** Invalid selection. Please try again."
$ goto show_selection
$!
$select_ok:
$!
$if addr'select'.eqs."E" then temp="Ethernet"
$if addr'select'.eqs."I" then temp="TCP/IP"
$ if p1 .eqs. "" then inquire p1 "Device ''temp' address"
$ if p1 .eqs. "" then goto done
$!
$! Check for a "-" in Ethernet address or "." in Internet address
$! Enet address is also 17 characters long
$!
$if (addr'select'.eqs."E").and.-
(f$len(p1).eq.17).and.-
(f$locate("-",p1).ne.f$len(p1)) then $goto get_firmware
$if addr'select'.eqs."I".and.(f$locate(".",p1).ne.f$len(p1)) then -
goto get_firmware
$ write sys$output "''bell'"
$ write sys$output "*** Invalid selection. Please try again."
$p1=""
$goto select_ok
$
$!
$get_firmware:
$def="MOM$LOAD:"+def'select'
$ if p2 .eqs. "" then inquire p2 "Firmware image (''def')"
$if p2.eqs."" then $p2=def
$write sys$Output "Image will be ''p2'
$ if p2 .eqs. "" then goto done
$!
$ if f$search(p2) .eqs. ""
$ then
$ write sys$output "''bell'"
$ write sys$output "*** Firmware image ''p2' not found! Please try again."
$ write sys$output ""
$ p2 = ""
$ goto get_firmware
$ endif
$!
$! Don't need to ask for the community string if it's a DECbridge 90 or 90FL
$!
$ if p3 .eqs. "" .and. select .ne. 2
$ then
$ inquire p3 "Community String [public]"
$ if p3 .eqs. "" then p3 = "public"
$ endif
$ pass = "/pass=""''p3'"""
$!
$! Need slot number for DECconcentrator 900MX (MAM-assisted load)
$!
$get_slot:
$ if select .eq. 4 .and. p4 .eqs. ""
$ then
$ inquire p4 "Slot number"
$ if p4 .eqs. "" then goto done
$ endif
$ if p4 .eqs. "" then goto do_load
$ if f$integer(p4) .lt. 1 .or. f$integer(p4) .gt. 8
$ then
$ write sys$output "''bell'"
$ write sys$output "*** Slot ''p4' is out of range (1-8). Please try again."
$ write sys$output ""
$ p4 = ""
$ goto get_slot
$ endif
$!
$do_load:
$ goto load_'select'
$!
$load_1: ! DECagent 90
$!
$ download load 'p1' 'p2' /force=DECagent 'pass'
$ goto done
$!
$load_2: ! DECbridge 90, 90FL
$!
$ download load 'p1' 'p2' /nomanagement
$ goto done
$!
$load_4: ! DECconcentrator 900MX
$!
$ download load 'p1' 'p2' /module='p4' /force=hubmodule 'pass'
$ goto done
$!
$load_5: ! DEChub 900 MultiSwitch
$!
$ download load 'p1' 'p2' /module=9 /force=hubmanv2 'pass'
$ goto done
$!
$load_3: ! DECbridge 900MX
$load_6: ! DECrepeater 90FS
$load_7: ! DECrepeater 90TS
$load_8: ! DECrepeater 900FP
$load_9: ! DECrepeater 900GM
$load_10: ! DECrepeater 900TM
$load_11:
$load_12:
$load_13:
$load_14:
$load_15:
$load_16:
$!
$ download load 'p1' 'p2' /force=pcommon 'pass'
$ goto done
$!
$done:
$ p1 = ""
$ p2 = ""
$ p3 = ""
$ p4 = ""
$ write sys$output ""
$ inquire /nopunct load_again "Load another device? [Y/<N>] "
$ if load_again then goto start
$really_done:
$ exit
|