Xref: utzoo unix-pc.general:5598 comp.sys.att:9735 Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!att!icus!lenny From: lenny@icus.ICUS.COM (Lenny Tropiano) Newsgroups: unix-pc.general,comp.sys.att Subject: UNIX PC STARLAN ioctl() calls, URP protocol, streams, questions... Keywords: /dev/starlan, ioctl, URP, protocols Message-ID: <1199@icus.ICUS.COM> Date: 6 Jun 90 04:44:57 GMT Organization: ICUS Software Systems, Islip, New York Lines: 123 While a lot of you are getting in a frenzy with the WIN/3B TCP/IP Ethernet stuff, I felt it was necessary to pose a few questions to the net on STARLAN. STARLAN boards for those who are interested should still be available from Robert Slaski, and I recommend them very much. Granted not too many machines (especially non-AT&T ones) run STARLAN, and worst yet, the 1Mbps STARLAN, as opposed to the 10Mbps (aka STARLAN-10). Documentation on STARLAN is the pits, even the programmers manual only goes into the high-level library calls found in the libslan.a library. While perusing the /usr/include/net and /usr/include/net/sys directories on my system I started to get some ideas about doing "low-level" STARLAN operations, and possibly learn a little more about this network media I have on my two UNIX pc's. The STARLAN driver on the UNIX pc has a special implementation of streams. What modules can be pushed (I_PUSH) on to the /dev/starlan stream? The URP protocol (what it uses to communicate between machines, similar to what Ethernet can use, TCP/IP) is a stream module. Does anyone have documentation on how to use the low-level driver ioctl()'s as well as the stream driver. Doing a "strings" of my uucico (HDB) reveals some interesting items... These stream modules -- what do they do? How do I use them? slancall: push(ccmod) errno %d slancall: push(urpmod) errno %d slancall: push(psxmod) errno %d In /usr/include/net/starlan.h, there are some interesting #defines ... #define LIS_PROMISC 0x0001 /* Promiscuous listening */ (One could write some sort of thing to listen on the network and catch all the network packets in promiscous mode?) #define ENC_MANCH 0x0004 /* Manchester encoding */ #define ENC_NRZ 0x0000 /* NRZ encoding */ (Encoding methods? Excuse my network naivety) /* * Ioctl commands (Unix) */ [...] #define CS_DUMP (CIOC|6) /* Dump CSMA parameters */ #define CS_RST_CNTRS (CIOC|7) /* reset statistics counters */ These are used to get the STARLAN parameters for programs like /usr/net/bin/remstat and /usr/net/bin/slnstat STARLAN 1.1 NAU Statistics since Mon May 28 20:52:48 1990 Prom: 08 00 6A 02 7C 99 00 6B 63 6F 52 54 11 21 EF DF System name: icus Physical address: 08 00 6A 02 7C 99 Chip lockups: 0 Resource errors: 0 CRC errors: 0 DMA overruns: 0 Alignment errors: 0 DMA underruns: 0 Frames too short: 0 Pending sessions: 5 Loss of CTS: 0 Frames received: 11998 Loss of carrier: 0 Frames discarded: 0 Deferrals: 122 Total writes: 11983 Collisions: 141 Frames transmitted: 11975 Collision aborts: 8 Writes lost: 0 Illegal packets: 0 Duration: 8 days 3 hours 44 minutes 16 seconds #define CS_DIAGNOSE (CIOC|12) /* Issue a diag. command */ Diagnostic commands? What commands? #define CS_READPROM (CIOC|21) /* Read the on-board PROM */ To get that "Prom:" information ... (the network address of the board, etc.) #define CS_MAINT_MODE (CIOC|25) /* Enter maintanence mode */ Maintanence mode? /* * Definitions pertaining to URP */ #define CS_XPARENT (CIOC|40) /* Set transparent mode */ #define CS_OPAQUE (CIOC|41) /* Set "opaque" mode */ [...] Explain the difference between transparent mode and opaque mode? And why uucico does this? (again from string table...) slancall: net_ioctl(CS_OPAQUE) errno %d [...] #define N_ISN_OPTS (CIOC|83) /* Please don't ask!! */ Ok, I'll bite ... What the heck is this? :-) [...] * See Intel 82586 documentation / errata sheets for more details That's the LAN chip they use? Is this the same chip as in STARLAN boards of the IBM PC's? /* * Length of the useful data in the PROM */ #define SL_PROM_SIZE 16 [...] Prom: 08 00 6A 02 7C 99 00 6B 63 6F 52 54 11 21 EF DF Geez, I do count 16! And the first 6 are the physical address. Anything about STARLAN that would be interesting to know would be appreciated! Thanks. -Lenny -- | Lenny Tropiano ICUS Software Systems lenny@icus.ICUS.COM | | {ames,pacbell,decuac,sbcs,hombre,rayssd}!icus!lenny attmail!icus!lenny | +------ ICUS Software Systems -- PO Box 1; Islip Terrace, NY 11752 ------+