On Sun, Sep 06, 2015 at 09:50:10PM -0400, Joe Gidi wrote: > I recently bought a Lenovo ThinkServer TS140 to replace my aging HP > Microserver. Rather than using a standard serial console to admin the > machine, I've been playing around with the Intel AMT serial-over-LAN > capabilities. The following notes might help others who'd like to use this > feature with OpenBSD; hopefully they'll save you some hair-tearing. > > The Intel AMT technology can piggyback on the onboard NIC, sharing the > same IP and MAC as the operating system. I'm not a fan of that idea, so I > opted to leave the onboard NIC as a dedicated management interface and add > another NIC for the OS. So, in my system, em0 (onboard) is used only for > serial-over-LAN administration, and em1 (PCI-E card) is used by OpenBSD. > > Lenovo published a pretty decent PDF on configuring AMT, available here: > > http://www.lenovo.com/images/products/server/pdfs/tech_resources/thinkserver_config_amt_ts140_ts440_tr.pdf > > To get serial-over-LAN working, you can largely follow that PDF, but for > steps 18 and 19, you can leave IDER and KVM disabled. For step 20, Legacy > Redirection Mode needs to be enabled. > > The serial-over-LAN device is presented as a puc(4) card with com4 > attaching to it: > > puc0 at pci0 dev 22 function 3 "Intel 8 Series KT" rev 0x04: ports: 1 com > com4 at puc0 port 0 apic 8 int 19: ns16550a, 16 byte fifo > > To get a working console, I edited /etc/ttys like so: > tty04 "/usr/libexec/getty std.9600" vt220 on secure > > Then, to get the console working at boot, I configured /etc/boot.conf as > follows: > machine comaddr 0x0000f0e0/0x0008 > set tty com4 > > The "machine commaddr 0x0000f0e0/0x0008" line was worked out by running > 'pcidump -v' and finding the BAR io addr for this device: > > 0:22:3: Intel 8 Series KT > 0x0000: Vendor ID: 8086 Product ID: 8c3d > 0x0004: Command: 0007 Status: 00b0 > 0x0008: Class: 07 Subclass: 00 Interface: 02 Revision: 04 > 0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line > Size: 00 > 0x0010: BAR io addr: 0x0000f0e0/0x0008 > 0x0014: BAR mem 32bit addr: 0xf7d3e000/0x00001000 > 0x0018: BAR empty (00000000) > 0x001c: BAR empty (00000000) > 0x0020: BAR empty (00000000) > 0x0024: BAR empty (00000000) > 0x0028: Cardbus CIS: 00000000 > 0x002c: Subsystem Vendor ID: 17aa Product ID: 30a5 > 0x0030: Expansion ROM Base Address: 00000000 > 0x0038: 00000000 > 0x003c: Interrupt Pin: 02 Line: 0a Min Gnt: 00 Max Lat: 00 > 0x00c8: Capability 0x01: Power Management > 0x00d0: Capability 0x05: Message Signaled Interrupts (MSI) > > That completed the setup on the ThinkServer side. To connect to it from my > workstation, I installed the amtterm-cli package and ran 'amtterm > 192.168.1.19' (the IP address I'd assigned to the AMT interface during > setup).
It is worth pointing out that amtterm is only useable with AMT versions <= 8 as AMT version 9 removed the SOAP interface that amtterm uses. If anyone knows of anything that can talk the ws-man protocol variant AMT version 9 uses I'd like to hear about it.