Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |
L-Controllers
The Ln Controllers are controllers that exist in newer Silicon Graphics systems.
L1 Controller[edit]
Main Article L1 Controller
Small controller found on SGI Tezro, SGI Origin 300, SGI Origin 3000, SGI Fuel and more recent systems. Environmental monitoring reports errors to this control. Usually has a two line LCD panel connected to that displays output from errors/commands.
From with an IRIX shell L1 commands can be issued. For example:
bash# l1 serial all
The L2 Controller can switch to an L1 controller by specifying the brick and the command "l1"
See also[edit]
L2 Controller[edit]
Main Article L2 Controller
Overview[edit]
Small silver box usually thrown on top of a rack and forgotten about. Used for setting serial numbers in bricks and managing multiple module rack configurations. See also L1 and L2 Commands. It runs off a Power Brick.
Holding down the Control and T keys together gives access to the L2. To stay within the L2 type "l2".
Typing a single "!" gives access to a Linux/PPC system based on busybox.. Many commands are cut down and crippled in someways.
The L2 Controller can be access from the serial port or from telnet:
telnet 192.168.0.179 Trying 192.168.0.179... Connected to 192.168.0.179. Escape character is '^]'. SGI L2 Controller INFO: connection established to localhost, to quit enter <ctrl-]> <q> M1000707-001-L2> M1000707-001-L2> M1000707-001-L2>! sh-2.03# uname -a Linux 192.168.0.179 2.4.7-sgil2 #1 Mon Feb 28 14:51:03 CST 2005 ppc unknown sh-2.03# ls -R /etc /etc: DIR_COLORS hosts.equiv motd resolv.conf dhcpc inetd.conf passwd rpc fstab inittab ppp services group ioctl.save protocols hosts l2firmware_version rc.sysinit /etc/dhcpc: dhcpcd-eth0.cache dhcpcd-eth0.exe dhcpcd-eth0.info /etc/ppp: options.ttyS0 sh-2.03# busybox --help BusyBox v0.51 (2005.02.28-20:56+0000) multi-call binary Usage: busybox [function] [arguments]... or: [function] [arguments]... BusyBox is a multi-call binary that combines many common Unix utilities into a single executable. Most people will create a link to busybox for each function they wish to use, and BusyBox will act like whatever it was invoked as. Currently defined functions: [, adjtimex, basename, busybox, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp, cut, date, dc, dd, df, dirname, dmesg, dos2unix, du, echo, env, expr, false, fbset, find, free, getopt, grep, gunzip, gzip, halt, head, hostid, hostname, id, ifconfig, init, kill, killall, klogd, ln, logger, logname, logread, ls, makedevs, mkdir, mkfifo, mknod, mkswap, mktemp, more, mount, mv, ping, pivot_root, poweroff, printf, ps, pwd, reboot, renice, reset, rm, rmdir, route, sed, sleep, sort, sync, syslogd, tail, tar, tee, telnet, test, tftp, touch, tr, true, tty, umount, uname, uniq, unix2dos, uptime, vi, wc, wget, which, whoami, xargs, yes, zcat sh-2.03# exit M1000707-001-L2>help Commands are: router|io|compute|otherautopower|apwr config|cfg connect date demo destination|dest dhcpserver|dhcps env fru help|hlp ip l2dbg l1 l2 l2dsp|l2display l2find log loopback route nvram ping password|pw pbay power|pwr quit rackid reboot_l2 reset|rst select|sel smp serial multisys|msys share sysname shell|! version|ver <command> enter 'hlp <cmd>' for more help on a single command. The general form of a command is: <target> <command> A <target> (optional) has serveral forms: <rack>.<slot> targets a single L1 <ip>:<port>:<l1> targets a single L1 without a rack and slot set rack|r <rng> [ slot|s <rng> ] targets a group of racks and slots partition|p <rng> targets a group of L1s in a partition A <rng> is a comma or dashed seperated list of numbers. A <rng> of "rack 2,4" targets racks 2 and 4. A <rng> of "rack 2-4" targets racks 2, 3 and 4. A <rng> of "*" or "all" can be used to target all racks or slots. An "*" or "all" alone targets all racks and slots depending on the command. If no <target> is specfied and <command> is an L2 command it is executed on the local L2 only. If the command is not understood by the L2, it is passed to all L1s in the default destination (the "destination" command shows the default destinations). If a <target> is specified and <command> is an L2 command it is executed on the targeted L2s. If the command is not understood by the L2, it is passed to all L1s in the target list. For overlapping L2 and L1 commands, preceed the <command> with "l1" to over- ride the L2 interpretation. M1000707-001-L2>
Booting[edit]
Runs an embedded LinuxPPC Kernel.
Example of an L2 booting..
L1001231-001-L2>reboot_l2 will reboot in 5 seconds... INIT: Switching to runlevel: 6 Sending processes the TERM signal Restartinÿ Validating L2 Controller Flash image....OK Booting... Ethernet address from Motorola VPD EEPROM is 08:00:69:11:B1:77 Linux/PPC load: Uncompressing Linux...done. Now booting the kernel Linux version 2.4.7-sgil2 (dsd@tstorm) (gcc version 2.95.2 19991030 (2.95.3 prerelease/franzo)) #1 Mon Feb 28 14:51:03 CST 2005 On node 0 totalpages: 4096 zone(0): 4096 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: root=/dev/ram panic=5 Decrementer Frequency = 187500000/60 Calibrating delay loop... 49.76 BogoMIPS Memory: 11904k available (952k kernel code, 512k data, 180k init, 0k highmem) Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes) Inode-cache hash table entries: 1024 (order: 1, 8192 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 4096 (order: 2, 16384 bytes) POSIX conformance testing by UNIFIX PCI: Probing PCI hardware I/O resource not set for host bridge 0 Memory resource not set for host bridge 0 PCI: Cannot allocate resource region 0 of PCI bridge 0 PCI: resource is 80000000..7fffffff (100), parent c011c314 PCI:00:04.0: Resource 0: c0000000-c0000fff (f=200) PCI:00:05.0: Resource 0: c0001000-c0001fff (f=200) Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Starting kswapd v1.8 i2c-core.o: i2c core module i2c-dev.o: i2c /dev entries driver module i2c-core.o: driver i2c-dev dummy driver registered. i2c-algo-8xx.o: i2c mpc8xx algorithm module i2c-rpx.o: i2c RPX Lite/MBX module i2c-dev.o: Registered 'rpx' as minor 0 i2c-core.o: adapter rpx registered as adapter 0. Console: switching to frame buffer device fb0: SGI L2 (SED137x LCD controller) frame buffer device fb0: Display panel [mono]: Hantronix HDM3224 (320x240, 4-bit Greyscale) CPM UART driver version 0.03 ttyS00 at 0x0000 is a SCC ttyS01 at 0x0100 is a SCC ttyS02 at 0x0200 is a SCC ttyS03 at 0x0300 is a SCC WDT_8xx: Software Watchdog Timer version 0.3, 30 second timeout block: queued sectors max/low 7810kB/2603kB, 64 slots per queue RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize eth0: FEC ENET Version 0.1, 08:fec: Phy @ 0x0, type 0x78100003 fec: link down 00:fec: 10 Mbps, Half-Duplex 69:11:b1:77 PowerPC realtime clock driver, version 0.1. usb.c: registered new driver usbdevfs usb.c: registered new driver hub PCI: Enabling device 00:04.0 (0000 -> 0002) usb-ohci.c: USB OHCI at membase 0xc2002000, IRQ 8 usb-ohci.c: usb-00:04.0, PCI device 11c1:5802 (Lucent Microelectronics) usb.c: new USB bus registered, assigned bus number 1 Product: USB OHCI Root Hub SerialNumber: c2002000 hub.c: USB hub found hub.c: 2 ports detected PCI: Enabling device 00:05.0 (0000 -> 0002) usb-ohci.c: USB OHCI at membase 0xc2004000, IRQ 10 usb-ohci.c: usb-00:05.0, PCI device 11c1:5802 (Lucent Microelectronics) usb.c: new USB bus registered, assigned bus number 2 Product: USB OHCI Root Hub SerialNumber: c2004000 hub.c: USB hub found hub.c: 2 ports detected usb-ohci.c: v5.2:USB OHCI Host Controller Driver usb.c: registered new driver sgil1 usb.c: registered new driver sgil1 usb.c: registered new driver sgil1 sgil1.c: SGI L1 controller support registered NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 1024 bind 1024) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. RAMDISK: cramfs filesystem found at block 0 RAMDISK: overriding ramdisk block size to 4096 for cramfs filesystem RAMDISK: Loading 2012 blocks [1 disk] into ram disk... done. Freeing initrd memory: 2012k freed VFS: Mounted root (cramfs filesystem). Freeing unused kernel memory: 180k init INIT: version 2.77 booting cp: /rhosts.allow: No such file or directory Starting DHCP client daemon.... hub.c: USB new device connect on bus1/1, assigned device number 2 Manufacturer: Silicon Graphics, Inc. Product: SN1 L1 System Controller SerialNumber: 00000000 sgil1.c: SGI L1 connected, minor: 64 device: 1.2 hub.c: USB new device connect on bus1/2, assigned device number 3 hub.c: USB hub found hub.c: 7 ports detected hub.c: USB new device connect on bus1/2/1, assigned device number 4 Manufacturer: Silicon Graphics, Inc. Product: SN1 L1 System Controller SerialNumber: 00000000 sgil1.c: SGI L1 connected, minor: 65 device: 1.4 hub.c: USB new device connect on bus1/2/2, assigned device number 5 usb.c: USB device not accepting new address=5 (error=-110) hub.c: USB new device connect on bus1/2/2, assigned device number 6 usb.c: USB device not accepting new address=6 (error=-110) hub.c: USB new device connect on bus1/2/4, assigned device number 7 Manufacturer: Silicon Graphics, Inc. Product: SN1 L1 System Controller SerialNumber: 00000000 sgil1.c: SGI L1 connected, minor: 66 device: 1.7 hub.c: USB new device connect on bus1/2/5, assigned device number 8 Manufacturer: Silicon Graphics, Inc. Product: SN1 L1 System Controller SerialNumber: 00000000 sgil1.c: SGI L1 connected, minor: 67 device: 1.8 dhcpcd[28]: timed out waiting for a valid DHCP server response INFO: No DHCP server found, starting local DHCP server (to serve L3 clients). INFO: DHCP: new IP address is 10.17.177.119 INIT: Entering runlevel: 5 SGI L2 Controller Current L2 version: 1.36.0 (L2 emulator: 1.36.0) Flashed L2 version: 1.36.0 INFO: opened USB control /dev/sgil1_cs INFO: opened USB device at b1;p1;d2 (/dev/sgil1_0) INFO: opened USB device at b1;p2/1;d4 (/dev/sgil1_1) INFO: opened USB device at b1;p2/4;d7 (/dev/sgil1_2) INFO: opened USB device at b1;p2/5;d8 (/dev/sgil1_3) INFO: SMP listening on port: 8001 INFO: attempting connection to localhost:9002 INFO: auto power up appears enabled INFO: attempting connection to localhost:9002 INFO: auto power up in 30 seconds... L1001231-001-L2>INFO: Validating connection from 'localhost' (127.0.0.1) INFO: connection to localhost:9002 established. INFO: Validating connection from 'localhost' (127.0.0.1) INFO: connection to localhost:9002 established. INFO: Connection - sgi (sgi) @ localhost running 'l2flash'. INFO: Connection - sgi (sgi) @ localhost running 'l2gui'. INFO: attempting connection to localhost:9002 INFO: Validating connection from 'localhost' (127.0.0.1) INFO: connection to localhost:9002 established. INFO: Connection - sgi (sgi) @ localhost running 'l2part'. INFO: auto power up in 25 seconds... INFO: auto power up in 20 seconds... INFO: auto power up in 15 seconds... INFO: auto power up in 10 seconds... INFO: auto power up in 5 seconds... INFO: initiating auto power up. ERROR: auto power up error. 001r25ERROR: SerNum:System Serial Number mismatch. See log for details. 001c01ERROR: SerNum:System Serial Number mismatch. See log for details. 001c02ERROR: SerNum:System Serial Number mismatch. See log for details. 001c03ERROR: SerNum:System Serial Number mismatch. See log for details. 001c01ERROR: power appears off. 001c02ERROR: power appears off. 001c03ERROR: power appears off. 001r25ERROR: power appears off.
Problems/Known issues[edit]
When system is powered on, L2 boots and will recognize all bricks, so the 'cfg' prints the address of each brick and router. When system is booted by 'pwr u' via L2, within 10-20 seconds one of the bricks will produce following error:
usb_control/bulk_msg: timeout hub.c: USB device not accepting new address (error=-110) SGIL1_RESET_DEVICE error, Connection timed out WARNING: can't write to connection to 001c22 [0x0ffff00e]: IRouter:write failed L2 SMP ERROR: no response from 001?22 proda-001-L2>usb_control/bulk_msg: timeout usb.c: USB device not accepting new address=8 (error=-110) hub.c: USB new device connect on bus2/1/1, assigned device number 9 usb.c: USB device not accepting new address=9 (error=-110) hub.c: USB new device connect on bus2/1/1, assigned device number 10
The bottom four ports on the NUMAlink Module/Router <ports 2,3,4 and 5> route USB signals from connected compute modules to the L2 controller <via the L1 port on the NUMAlink Module>. The top four ports on the NUMAlink Module/Router <ports 1,6,7 and 8> don't have the capability to route USB signals set between modules/bricks and the L2 controller, so those signals are routed to the L2 by USB cable via a USB hub.
L3 Controller[edit]
Main Article L3 Controller