mlewis@dolphin.tcspa.ibm.com (Mark S. Lewis) (11/16/89)
Subject: Fix for 6152 token-ring DOS Lan Support (part 1) IBM/4.3
Index: sys/ca_atr/if_lan.c IBM/4.3
Description:
After using the DOS Lan facilities, the token-ring adapter
is not closed. When Unix boots, it gets interrupts prior
to completing the token-ring probe, attach, and open
sequence. This results in Unix hanging during boot, which
persists until the power is cycled.
After suspending Unix and using the DOS Lan, the token-ring
adapter is not reset properly during restart. This results
in a failure of the open routine and leaves the network
unreachable. This persists until Unix is rebooted.
part 1 patch to the file /sys/ca_atr/if_lan.c
part 2 uuencoded DOS executable shutlan.exe
part 3 shar file containing read.me, and shutlan sources
Fix:
This patch fixes the restart problem.
Apply patch V1.18, if you have not already done so. Then
apply the following patch to the Unix token-ring driver.
Proceed to the next part of the kit.
*** if_lan.c Tue Nov 14 16:18:22 1989
--- if_lan.c.fix Wed Nov 15 09:45:28 1989
***************
*** 318,323 ****
--- 318,327 ----
register struct tr_softc *trs = &tr_softc[unit];
register struct ifnet *ifp = &trs->trs_if;
+ /* get pointer to device I/O space */
+ register struct trdevice *addr = (struct trdevice *)((unsigned int)iod->
+ iod_addr & 0xffffff);
+
if (how == SUSPEND_START) {
trs->trs_flags = ifp->if_flags; /* save flag state */
if (ifp->if_flags & IFF_RUNNING)
***************
*** 331,336 ****
--- 335,341 ----
if (trs->trs_flags & IFF_RUNNING) {
MM_OUT(&trs->aca->set.isrp_h, INT_ENABLE); /*allow pc ints. */
ifp->if_flags &= ~IFF_RUNNING; /* pretend not running */
+ trprobe(addr); /* hard reset */
trinit(unit);
restore_window(old_window);
}
=====----- Mark S. Lewis, IBM AWD Palo Alto -----======
inet: mlewis%ibmsupt@uunet.uu.net (415) 855-4486
uucp: uunet!ibmsupt!mlewis IBM Tie Line: 465-4486
mlewis@dolphin.tcspa.ibm.com (Mark S. Lewis) (11/16/89)
Subject: Fix for 6152 token-ring DOS Lan Support (part 2) IBM/4.3 Index: shutlan.exe (DOS executable) Description: After using the DOS Lan facilities, the token-ring adapter is not closed. When Unix boots, it gets interrupts prior to completing the token-ring probe, attach, and open sequence. This results in Unix hanging during boot, which persists until the power is cycled. After suspending Unix and using the DOS Lan, the token-ring adapter is not reset properly during restart. This results in a failure of the open routine and leaves the network unreachable. This persists until Unix is rebooted. part 1 patch to the file /sys/ca_atr/if_lan.c part 2 uuencoded DOS executable shutlan.exe part 3 shar file containing read.me, and shutlan sources Fix: shutlan.exe closes the token-ring adapter from DOS. Apply the prior (part 1) patch to the Unix token-ring driver. uudecode and install in the DOS serch patch, the included uuencoded DOS executable. If you have opened the DOS Lan during the DOS session, you must run shutlan.exe to close it before starting or restarting Unix. Proceed to the next part of the kit. begin 755 shutlan.exe M35J)`0X`!@`@`,,`___;`0`(%W?L````'@````$`,@```,8```!6`&0!]P`` M`.H`9`$"`P`````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M````````````````````````````````````````````58OLN`8`Z%D%5L=& M_@``_W;^N$L`4.B'!8/$!/]V_IK`````@\0"B4;\"\!T"U"X;0!0Z&H%@\0$ MBU[^T>.+MX@`*\!0C40!4.@\`8/$!+@R`%#H*`"#Q`(KP%"-1`)0Z"4!@\0$ MN'X`4.@S!8/$`O]&_H-^_@)\EEZ+Y5W#58OLN`0`Z-L$QT;\(`/K$\=&_@`` MZP20_T;^BT;\.4;^?/6+1@3_3@0+P'7CB^5=PY!5B^Q75KA>`8[`BT8&)J(. M`+L.`,U<M/\F."80`'3YM``FH!``7E^+Y5W+`+0PS2$\`G,"S2"_8`&+-@(` M*_>!_@`0<@.^`!#ZCM>!Q*X'^W,.Z,<!,\!0Z!$"N/],S2&!Y/[_-HDFE``V MB2:0`(O&L033X$@VHXX``_>)-@(`C,,KWO?;M$K-(3:,'@4!%@?\OXH#N;`' M*\\SP/.J%A_H1``6'^AC`^CL`3/M_S8F`?\V)`'_-B(!Z)7^4.CB`+@#`,<& MD@!A`E#H4`'HG0&X_P!0_Q:2``!5B^R+5@2*1@;NB^5=P[0PS2&C!P&X`#7- M(8D>\P",!O4`#A^X`"6Z?P'-(18?BPZD`N,NC@8%`2:+-BP`Q0:F`HS:,]LV M_QZB`G,%%A_IP0,VQ0:J`HS:NP,`-O\>H@(6'XX&!0$FBPXL`.,VCL$S_R:` M/0!T++D,`+[F`/.F=`NY_W\SP/*N=1GKY08>!Q^+][\.`:R8D:S^P'0!2*KB M]Q8?NP0`@*<.`;^X`$3-(7(*]L*`=`6`CPX!0$MYY[ZN`K^N`NAM`,-5B^R^ ML`._L`/H8`"^K@*_L`+H5P#K`U6+[+ZP`K^P`NA)`.@!`PO`=`N#?@0`=07' M1@3_`+D/`+L%`/:'#@$!=`2T/LTA0^+RZ`<`BT8$M$S-(8L.I`+C![L"`/\> MH@(>Q1;S`+@`)<TA'\,[]W,*3T^+#>/V_]'K\L-5B^RX_`!0Z$8`@SXP`0!T M!/\6,`&X_P!0Z#0`B^5=PU6+[%97N&`!CM@>!XM6!+ZX`JT[PG000)9T#)<S MP+G___*NB_?KZY9?7HOE7<("`%6+[%?_=@3HQO\+P'04DHOZ,\"Y___RKO?1 M2;L"`+1`S2%?B^5=P@(``(\&,@&Z`@`X%@<!="F.!@4!)HX&+`",!BH!,\"9 MN0"`,__RKJYU^T='B3XH`;G___*N]]&+T;\!`+Z!`(X>!0&L/"!T^SP)=/<\ M#71C1TZL/"!T[#P)=.@\#714/")T)#Q<=`-"Z^@SR4&L/%QT^CPB=`0#T>O7 MB\'1Z1/1J`%USNL!3JP\#70G/")TPCQ<=`-"Z_`SR4&L/%QT^CPB=`0#T>O? MB\'1Z1/1J`%UUNN?%A^)/B(!`]='T><#UX#B_BOBB\2C)`&+V`/[%@<VB3]# M0\4V*`&LJ@K`=?J^@0`VCAX%`>L#,\"JK#P@=/L\"73W/`UU`^MQD#:)/T-# M3JP\('3B/`ETWCP-=%H\(G0G/%QT`ZKKZ#/)0:P\7'3Z/")T!K!<\ZKKU;!< MT>GSJG,&L"*JZ\E.K#P-="H\(G2_/%QT`ZKK\#/)0:P\7'3Z/")T!K!<\ZKK MW;!<T>GSJG.>L"*JZ]$SP*H6'\<'``#_)C(!`%6+[%6.'@4!,\F+P8OIB_E) MBS8L``OV=`B.QO*N1:YU^D670"3^B_W1Y0/%%A]7OPD`Z#$`7XO/B_T#^(DN M)@$>!X[>,_9)XQ.!/#M#=`6)?@!%1:RJ"L!U^N+MB4X`%A]=B^5=PXO0`P:4 M`'(U.0:.`',E!0\`4-'8L0/3Z(S9BQX%`2O+`\&.PXO8M$K-(5AR$"3P2*.. M`)6++I0``1:4`,.+Q^D6_%F+W"O8<@H['C0!<@2+X__A,\#I`/Q6,_:Y0@`R MY/RL,N#B^X#T570-Z#[]N`$`4.B'_;@!`%[#N`(`Z=C[58OL@^P&5U:^>`%6 MZ-$-@\0"B_B-1@90_W8$5N@7`(/$!HE&^E97Z%4.@\0$BT;Z7E^+Y5W#58OL MN&(!Z(/_5U:+=@:-AJ+^HY@#BT8(HY0#BT8$HXX#QP:F`P``QP:D`P``Z3D" M@#PE=`/IR`''!IX#`0`KP*.<`Z.*`Z.@`Z.2`Z.6`Z.,`Z.0`Z.J`Z.L`\<& MF@,@`(!\`3!U.T;'!IH#,`#K,H`\+74&_P:L`^LG@#PK=0S_!IP#QP:,`P`` MZQ:`/"!U#8,^G`,`=0K_!HP#ZP3_!JH#1HH$F%#H&@>#Q`(+P'6_5KBB`U#H MI@:#Q`2+\(`\+G42_P:6`T96N)X#4.B/!H/$!(OPB@28/48`=#D]3@!T/#UH M`'0G/6P`=`<]<`!T)>L&QP:2`P(`@SZ2`P!T!H`\<'0!1H`\`'4;Z6,!QP:2 M`P$`Z^/'!I(#$`#KV\<&D@,(`.O3B@28B8:>_CU%`'0*/4<`=`4]6`!U"?\& MB@.#AI[^((N&GOXM8P`]%0!V`^FB``/`DR[_I^H'BQZ4`XL?H:0#B0?IQ@#_ M!J`#QP:J`P``N`H`4.@5`8/$`NFO`+@(`.OQ_P:0`\<&G@,$`/\&B@/_!I8# M@SZ2`P)T!X,^D@,0=37'!I(#``"#!I0#`K@0`%#HV`"#Q`*X.@!0Z(H#@\0" M@RZ4`P2X$`!0Z+\`@\0"@P:4`P+K5;@0`.N7*\!0Z-P!ZY.X`0#K]?^VGO[H MMP+KA8,^D@,`=`.+QDZ+_NM.S@=4!],'TP?3!]P'5`?<!]P'W`?<!T('9P=L M!]P'W`?&!]P'4`?<!]P'P0>#/J8#`'03@SZD`P!U28L>C@/V1P8@=3KK/4;K M'(`])70&1X`]`'7UB\<KQE"+QAY0Z(8#@\0&B_>`/`!T`^F__8,^I`,`=0^+ M'HX#]D<&('0%N/__ZP.AI`->7XOE7<-5B^R#[!A75H-^!`IT!/\&H`.#/I(# M`G0'@SZ2`Q!U%HL>E`.+!XM7`HE&^(E6^H,&E`,$ZRF#/J`#`'00BQZ4`XL' MB4;XQT;Z``#K#8L>E`.+!YF)1OB)5OJ#!I0#`H,^J@,`=`V+1O@+1OIT!8M& M!.L"*\"CJ`.+-I@#@SZ@`P!U*H-^^@!])(-^!`IU%\8$+4:+1OB+5OKWV(/2 M`/?:B4;XB5;ZQT;V`0#K!<=&]@``B_V#[QC_=@17_W;Z_W;XZ#@&@\0(@SZ6 M`P!T(%?H#@:#Q`*+#IX#*\B)3O[K!,8$,$:+1O[_3OX+P'_RB@6(!(,^B@,` M=`<\87P#@"P@1D>`??\`=>:#/J`#`'44H9P#"P:,`W0+@W[V`'4%N`$`ZP(K MP%#HF0*#Q`)>7XOE7<-5B^R#[!!75L<&F@,@`(-^!`!T%+X!`*&4`XE&](Q> M]H,&E`,"Z8P`@SZ2`Q!U%HL>E`.+!XM7`HE&](E6]H,&E`,$ZQ2+'I0#BP>) M1OB)1O2,7O:#!I0#`H,^D@,0=0V+1O0+1O9U%+@V`>L)@W[X`'4)N#T!B4;T MC%[VBT;TBU;VB4;\B5;^*_8Y-I8#=!B+QCL&G@-S',1>_/]&_":`/P!T$$;K MZ4;$7OS_1OPF@#\`=?.+/J(#*_Z#/JP#`'4'5^@%`8/$`E;_=O;_=O3H5@&# MQ`:#/JP#`'0'5^CJ`(/$`EY?B^5=PU6+[(/L`J&4`XE&_H,^E@,`=0;'!IX# M!@#_-HH#_S:>`_]V!/\VF`/_=O[_%DH!@\0*@WX$9W0&@WX$1W49@SZJ`P!U M$H,^G@,`=`O_-I@#_Q9,`8/$`H,^J@,`=!*#/IX#`'4+_S:8`_\64`&#Q`*# M!I0#",<&J`,``*&<`PL&C`-T$_]V_O\64@&#Q`(+P'0%N`$`ZP(KP%#H"@&+ MY5W#58OL5H,^I@,`=3"+'HX#_T\">`V*1@2+-_\'B`0JY.L-_S:.`_]V!.AR M`H/$!$!U!O\&I@/K!/\&I`->B^5=PU6+[(/L`E=6@SZF`P!U28MV!`OV?D+K M*XL>C@/_3P)X#:":`XL__P>(!2KDZP[_-HX#_S::`^@D`H/$!$!U!/\&I@.+ MQDX+P'_.@SZF`P!U!XM&!`$&I`->7XOE7<-5B^R#[`)75HMV"(,^I@,`=5#K M.8L>C@/_3P)X%,1>!":*!XL>C@.+/_\'B`4JY.L2_S:.`\1>!":*!YA0Z+\! M@\0$0'4$_P:F`_]&!(O&3@O`=<"#/J8#`'4'BT8(`0:D`UY?B^5=PU6+[(/L M"E=6BS:8`RO`B4;\B4;XBSZB`U;H`@.#Q`*)1OHK^"M^!(,^K`,`=1B`/"UU M$X,^F@,P=0RLF%#HNOZ#Q`+_3OJ#/IH#,'0+"_]^!X,^K`,`=!F#?@0`=`;_ M1OCH80"#/J@#`'0&_T;\Z&X`@SZL`P!U)E?HOOZ#Q`*#?@0`=`F#?O@`=0/H M-P"#/J@#`'0)@W[\`'4#Z$$`_W;ZB\8>4.CP_H/$!H,^K`,`=`W'!IH#(`!7 MZ'[^@\0"7E^+Y5W#58OL@SZ<`P!T!;@K`.L#N"``4.@?_HOE7<-5B^RX,`!0 MZ!'^@\0"@SZH`Q!U%H,^B@,`=`6X6`#K`[AX`%#H]/V#Q`*+Y5W#58OL@^P" M5U:+=@:`/"IU#HL>E`.+/X,&E`,"1NLZ*_^`/#!\,X`\.7\N.3Z6`W4+@#PP M=0;'!IH#,`"LF(O/T>'1X0//T>$#R(/I,(OY@#PP?`6`/#E^XXM>!(D_B\9> M7XOE7<-5B^R#[`)6OD0!ZPV*!#A&!'4%N`$`ZPA&@#P`=>XKP%Z+Y5W#58OL M@^P&5U:+=@;V1`:#=`;V1`9`=`J`3`8@N/__Z6`!]D0&`77P@$P&`H!D!N\K MP(E$`HOXB7[^]D0&"'43BD0'F(O8T>,#V-'C]H<0`@%T7HL\*WP$BT0$0(D$ MBD0'F(O8T>,#V-'CBX<2`DB)1`(+_WX45_]T!(I$!YA0Z&8&@\0&B4;^ZQR* M1`>8B]CVAPX!('0/N`(`4"O`4%!3Z*4$@\0(BUP$BD8$B`?IQ`#V1`8$=`/I MI0"!_G@!=4:*1`>84.CF`(/$`@O`=`/IB0#_!EH!QT0$L`.*1`>8B]C1XP/8 MT>/&AQ`"`<<$L0.8B]C1XP/8T>/'AQ("``+'1`+_`>N@N``"4.C7`(/$`HE$ M!`O`=$2`3`8(0(D$BD0'F(O8T>,#V-'CQX<2`@`"QT0"_P&+7`2*1@2(!XI$ M!YB+V/:'#@$@="NX`@!0*\!04%/H\@.#Q`CK&H!,!@2_`0!7C48$4(I$!YA0 MZ'D%@\0&B4;^.7[^=`/IF_Z*1@0JY%Y?B^5=PU6+[%<>!XM^!#/`N?__\JZ+ MP4!`]]A?B^5=PP!5B^Q65[,`Z7P`58OLBUX$.QX,`7T1@_L`?`SVAPX!0'0% MN`$`ZP(SP(OE7<,`58OLBUX$"]MT!(!/_@&+Y5W#58OL5E>[7`&#/P!U*1X' MN`4`Z-,!=04SP)GK)$`D_J-<`:->`9;'!`$`@\8$QT3^_O^)-F(!BTX$C-B. MP.AI`%]>B^5=PXM."HM&!(M6!HM^"%<>!_R3"L!T$X/Y"G4."])Y"K`MJO?; M@](`]]J+]Y(ST@O`=`+W\9/W\9*'TP0P/#EV`@0GJHO""\-UXH@%3ZR&!8A$ M_XU$`3O'<O)87UZ+Y5W#`.G.`$%T^H#A_H/Y[G/RBW<"_*V+_J@!=$)(.\%S M%8O0`_"MJ`%T-`/"!0(`B_>)1/[KYHO^=`P#^8E,_BO!2(D%ZP4#^?Y,_HO& MC-J,T3O1=`4FC!YJ`8E_`L,FQ@9N`0(]_O]T)8O^`_"MJ`%T\HO^2#O!<[V+ MT`/PK:@!=.(#P@4"`(OWB43^Z^:+1P@+P'0$CMCK%";^#FX!=!&,V(S7.\=T M!2:.'F8!BS?KO(MW!C/`Z&H`.\9T#20!0$"8Z%X`=`W^3?[H'`!T!99.3NN9 MC-B,T3O!=`0FHVH!BP>)1P(SP)G#48M%_J@!=`,KR$E!0;K_?R8[%FP!=@31 MZG7UB\$#QG(5`\)R#??2(\(KQN@,`'4(]]+1ZG7E,\!9PU)1Z!T`=!A7B_Z+ M\`/RQT3^_O^)=P:+UBO72HE5_EA96L-34#/2'E)24+@!`%`&'^BG`(/$"(/Z M_Q]:6W0""]+#58OL@^P$5U:^<`$K_^L4]D0&@W0+5N@8`(/$`D!T`4>#Q@@Y M-H@"<^:+QUY?B^5=PU6+[(/L!%=6BW8$*_^*1`8D`SP"=4#V1`8(=1.*1`>8 MB]C1XP/8T>/VAQ`"`70GBP0K1`2)1OP+P'X;4/]T!(I$!YA0Z(4"@\0&.T;\ M=`>`3`8@O___BT0$B03'1`(``(O'7E^+Y5W#58OL5E<&@WX(`'4XOY0`BU8& MBT8$2'4'Z%,`<B?K2(LVY`!(=!$[]W0-BT0"B48,5N@Z`%YS,(/&!('^Y`!S M!`O2=0:X__^9ZQV+VH/##]';L0/3Z[1(S2%RZ9*)!(E4`HDVY``SP`=?7HOE M7<.+3@R+]SE,`G0,@\8$@?[D`'7R^>L_B]H#''(YB]..P3OW=08Y'HX`<R:# MPP_1V]'KT>O1ZSOW=0D#V:$%`2O8CL"T2LTA<@T[]W4$B1:.`)*'!(O1PU6+ M[(/L!(M>!#L>#`%R!;@`">LJ]T8(`(!T2(-^"@!T&C/)B]&X`4+-(7)+]T8* M`@!U#@-&!A-6"'DHN``6^>LVB5;^B4;\B]&X`D+-(0-&!A-6"'D-BT[^BU;\ MN`!"S2'KV(M6!HM."(I&"K1"S2%R!8"G#@']Z1T"58OL5U:+=@3_!EH!@?YX M`74Y]D0&#'4SBD0'F(O(T>`#P='@B_CVA1`"`74>QT0$L`/&A1`"`<>%$@(` M`L=$`@`"QP2P`[@!`.M.@?Z``70&@?Z0`75`]D0&"'4ZBD0'F(O(T>`#P='@ MB_CVA1`"`74E@3Y\`;`#=!W'1`2P`XI$!IBCK@/&A1`"`<>%$@(``H!D!OOK MIBO`7E^+Y5W#58OL5U:+=@:#?@0`=1.A?`$Y1`1U"U;HH?V#Q`(KP.M?@WX$ M`'19@?YX`748BD0'F%#H&/N#Q`(+P'0)5NA[_8/$`NL;@?Z``70&@?Z0`74O M5NAF_8/$`J"N`R0$"$0&BD0'F(O(T>`#P='@B_C&A1`"`,>%$@(``"O`B02) M1`1>7XOE7<,`58OLBUX$.QX,`7('N``)^>GD`/:'#@$@=`NX`D(SR8O1S2%R MZ_:'#@&`=0/I@0"+3@B+5@8>!S/`_%=6B_"+^N-EN`I`\JYU,E&+SRO*2>,0 MS2&<`_"=<P2T">M)"\!T+T:Y`@"ZB@*T0,TA<P2T">LT"\!T&EF+U^O%48O/ M*\K-(9P#\)US!+0)ZQH+P'46]H<.`4!T"XM>!H`_&G4#^.L$^;@`'%ER`HO& M7E_I1P"+3@@+R74%B\'I.P"+5@:T0,TA<P2T">OD"\!UX/:'#@%`=`J+VH`_ M&G4#^.O/^;@`'.O)<A,SP(OE7<-S^%#H&`!8B^5=PW,'Z`X`N/__F8OE7<,R MY.@!`,.B"@$*Y'4C@#X'`0-R#3PB<PT\('(%L`7K!Y`\$W8"L!.[C`+7F*/_ M`,.*Q.OW``3_``````````````````````````````!-4R!2=6XM5&EM92!, M:6)R87)Y("T@0V]P>7)I9VAT("AC*2`Q.3@W+"!-:6-R;W-O9G0@0V]R<!X` M)$AE861E<B0`0VQO<VEN9R!T;VME;B!R:6YG(&%D87!T97(@)60@+BXN`"!# M0T(Q(&5R<F]R/3!X)7@`(&1O;F4N"@!"`"`*)`H```````!X`@``8`$````` M```````````````````````````````````````````````````````````` M````````````````````````````````````E``[0U]&24Q%7TE.1D\````` M`````````````````````````````!0`@8&!`0$````````````````````` M```````L`6`!0P````````"P""AN=6QL*0`H;G5L;"D`*RT@(P``J@6J!:H% MJ@6J!0`````````````````````````````````@``"P!0``L`4!```````` M``(!````````!@(```````"$`P````````($```````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M`````````````````0```@`````````````````````````````````````` M```````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````"`(- M"@`6`@(8#0D,#`P'"!86_Q(-$@+_``````````````````"Y$3P\3DU31SX^ M``!2-C`P,`T*+2!S=&%C:R!O=F5R9FQO=PT*``,`4C8P,#,-"BT@:6YT96=E M<B!D:79I9&4@8GD@,`T*``D`4C8P,#D-"BT@;F]T(&5N;W5G:"!S<&%C92!F M;W(@96YV:7)O;FUE;G0-"@#\``T*`/\`<G5N+71I;64@97)R;W(@``$`4C8P M,#$-"BT@;G5L;"!P;VEN=&5R(&%S<VEG;FUE;G0-"@`"`%(V,#`R#0HM(&9L =;V%T:6YG('!O:6YT(&YO="!L;V%D960-"@#___\- ` end =====----- Mark S. Lewis, IBM AWD Palo Alto -----====== inet: mlewis%ibmsupt@uunet.uu.net (415) 855-4486 uucp: uunet!ibmsupt!mlewis IBM Tie Line: 465-4486
mlewis@dolphin.tcspa.ibm.com (Mark S. Lewis) (11/16/89)
Subject: Fix for 6152 token-ring DOS Lan Support (part 3) IBM/4.3 Index: read.me, makefile, shutlan.c, tokclose.asm (DOS source files) Description: After using the DOS Lan facilities, the token-ring adapter is not closed. When Unix boots, it gets interrupts prior to completing the token-ring probe, attach, and open sequence. This results in Unix hanging during boot, which persists until the power is cycled. After suspending Unix and using the DOS Lan, the token-ring adapter is not reset properly during restart. This results in a failure of the open routine and leaves the network unreachable. This persists until Unix is rebooted. part 1 patch to the file /sys/ca_atr/if_lan.c part 2 uuencoded DOS executable shutlan.exe part 3 shar file containing read.me, and shutlan sources Fix: Unpack the following shar file. Make shutlan.exe and install it as described in part 2 of this kit. # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # # read.me # makefile # shutlan.c # tokclose.asm # echo x - read.me sed 's/^X//' >read.me << 'END-of-read.me' X X--------------------------------------------------------- X Make/Installation Instructions - Shutlan.exe X November 14, 1989 X--------------------------------------------------------- X X XIncluded are the files to make the DOS executable program Xshutlan.exe. These are: X X read.me This file X makefile DOS makefile X shutlan.c Main C routine X tokclose.asm Assembly routine to close adapter X XThe tools used to produce shutlan.exe are: X X IBM C/2 version 1.0 X IBM Macro Assembler/2 version 1.0 X XWith the make utility included in C/2 1.0, you may build Xshutlan.exe with the following command: X X make makefile X XInstall shutlan.exe somewhere in your DOS search path. X XIt is suggested that you modify all batch files that start Xor restart Unix. In each case, you should execute shutlan Xbefore Unix. In other words, add the line shutlan before Xthe Unix line in all such batch files. X XNote: If you are not using the DOS Lan Support, you do X not need to use shutlan. X END-of-read.me echo x - makefile sed 's/^X//' >makefile << 'END-of-makefile' X# X# (C) COPYRIGHT IBM CORPORATION 1989 X# LICENSED MATERIALS - PROPERTY OF IBM X# REFER TO COPYRIGHT INSTRUCTIONS FROM NUMBER G120-2083 X# X# if using codeview uncomment the following: X#CCOPTS=/Zi/Od X#LKOPTS=/CO X Xshutlan.obj: shutlan.c X cc shutlan/AS$(CCOPTS); X Xtokclose.obj: tokclose.asm X masm tokclose; X Xshutlan.exe: shutlan.obj tokclose.obj X link shutlan$(LKOPTS)+tokclose$(LKOPTS),shutlan,,slibc3; END-of-makefile echo x - shutlan.c sed 's/^X//' >shutlan.c << 'END-of-shutlan.c' X/* X * (C) COPYRIGHT IBM CORPORATION 1989 X * LICENSED MATERIALS - PROPERTY OF IBM X * REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 X * X * shutlan - shut down token ring adapters for call to Unix X * Note: shuts both adapters located at the normal places. X */ X X/* $Header: shutlan.c,v 1.2 89/11/14 15:52:08 mlewis Exp $ */ Xstatic char *rcsid = "$Header: shutlan.c,v 1.2 89/11/14 15:52:08 mlewis Exp $"; X X#include <stdio.h> X Xextern far tokclose(); X Xchar *trstd[] = { (char *) 0x00000a20, (char *) 0x00000a24, 0}; X Xstruct trdevice { X unsigned char switch_read; /* ROM/MMIO domain switches */ X unsigned char reset; /* write causes adapter reset */ X unsigned char release_reset; /* write releases adapter reset */ X unsigned char clear_interrupt; /* write clears adapter X * interrupt */ X}; X Xmain(argc,argv) X int argc; X char **argv; X{ X register struct trdevice *addr; X int error, i; X X for (i=0;i<2;i++) X { X printf("Closing token ring adapter %d ...",i); X if (error = tokclose(i)) /* Close adapter i */ X printf (" CCB1 error=0x%x",error); X addr = (struct trdevice *) (0xffff & (unsigned int) trstd[i]); X /* Generate interrupt */ X outp(&addr->reset, 0); /* latch adapter reset */ X delay(50); /* delay 50ms */ X /* turn off adapter reset, generate interrupt */ X outp(&addr->release_reset, 0); X printf(" done.\n"); X } X} X Xdelay(n) X int n; X{ X int i; X int dcount = 800; X X while ( n-- ) X for (i = 0; i < dcount; i++) X { }; X} END-of-shutlan.c echo x - tokclose.asm sed 's/^X//' >tokclose.asm << 'END-of-tokclose.asm' X; X; (C) COPYRIGHT IBM CORPORATION 1989 X; LICENSED MATERIALS - PROPERTY OF IBM X; REFER TO COPYRIGHT INSTRUCTIONS FORM G120-2803 X; X; TOKCLOSE - CLOSE TOKEN RING ADAPTER X; PARAMETER: ADAPTER NUMBER (0|1) X; X; $Header: tokclose.asm,v 1.2 89/11/14 16:07:50 mlewis Exp $ X; XPUBLIC _TOKCLOSE X XEXTRA SEGMENT WORD PUBLIC 'DATA' XADAPTER DB 0 ;ADAPTER NUMBER XCOMMAND DB 04H ;COMMAND FIELD (DIR.CLOSE.ADAPTER) XRETCODE DB 0FFH ;RETURN CODE XWORK DB 0 ;WORK AREA XPOINTER DD 0 ;POINTER WORK AREA XCMD_CMPL DD 0 ;COMMAND COMPLETION APPENDAGE XPARM_TAB DD 0 ;PARM/POINTER TO CCB TABLE XEXTRA ENDS X X_TEXT SEGMENT WORD PUBLIC 'CODE' X ASSUME CS:_TEXT,ES:EXTRA X_TOKCLOSE PROC FAR X PUSH BP X MOV BP,SP X PUSH DI X PUSH SI X MOV AX,EXTRA ;SETUP ES X MOV ES,AX X MOV AX,[BP+6] ;GET ADAPTER NUMBER X MOV ADAPTER,AL X MOV BX,OFFSET EXTRA:ADAPTER ;SETUP BX X INT 5CH ;DIRECT/NETBIOS INTERRUPT X MOV AH,0FFH XLP: CMP RETCODE,AH ;WAIT FOR VALID RETCODE X JE LP X MOV AH,0 X MOV AL,RETCODE ;SAVE IT FOR RETURN X POP SI X POP DI X MOV SP,BP X POP BP X RET X_TOKCLOSE ENDP X_TEXT ENDS X END END-of-tokclose.asm exit =====----- Mark S. Lewis, IBM AWD Palo Alto -----====== inet: mlewis%ibmsupt@uunet.uu.net (415) 855-4486 uucp: uunet!ibmsupt!mlewis IBM Tie Line: 465-4486