Re: IPMI serial console
On Thursday, February 21, 2013 5:45:13 am Daniel O'Connor wrote: > Hi all, > A recent thread inspired me to try getting a proper serial console working on a Supermicro X9SCL motherboard with IPMI. > > However I find that while I see loader messages and the getty I enabled after boot I don't get any kernel messages which does somewhat limit the utility.. > > The BMC creates COM3 (/dev/cuau2) which works with getty. I modified /boot/loader.conf like so.. > boot_multicons="yes" > boot_serial="YES" > console="comconsole vidconsole" > comconsole_speed="115200" > # Disable console flags on these 2 ports > hint.uart.0.flags="0x00" > hint.uart.1.flags="0x00" > # Set console flag > hint.uart.2.flags="0x10" > > Does anyone have any hints? Rather than using all these hints, just use these three in loader.conf: console="comconsole vidconsole" console_speed=115200 console_port="0x" (where is the correct I/O port for COM3, 0x3e8 maybe?) -- John Baldwin ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 2:19, John Baldwin wrote: >> Does anyone have any hints? > > Rather than using all these hints, just use these three in loader.conf: > > console="comconsole vidconsole" > console_speed=115200 > console_port="0x" (where is the correct I/O port for COM3, > 0x3e8 > maybe?) No dice :( I also tried booting with '-D -h -S 115200' but nothing either. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Fri, Feb 22, 2013 at 08:26:02AM +1030, Daniel O'Connor wrote: > On 22/02/2013, at 2:19, John Baldwin wrote: > >> Does anyone have any hints? > > > > Rather than using all these hints, just use these three in loader.conf: > > > > console="comconsole vidconsole" > > console_speed=115200 > > console_port="0x" (where is the correct I/O port for COM3, > > 0x3e8 > > maybe?) > > No dice :( > > I also tried booting with '-D -h -S 115200' but nothing either. Try setting the IPMI pieces (in the IPMI device itself) to 9600bps. Then try using 9600bps in FreeBSD (loader.conf or /boot.config, as well as in inittab/getty). If this works for you, I can expand further on why, if requested. -- | Jeremy Chadwick j...@koitsu.org | | UNIX Systems Administratorhttp://jdc.koitsu.org/ | | Mountain View, CA, US| | Making life hard for others since 1977. PGP 4BD6C0CB | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 02/21/13 13:56, Daniel O'Connor wrote: > > On 22/02/2013, at 2:19, John Baldwin wrote: >>> Does anyone have any hints? >> >> Rather than using all these hints, just use these three in loader.conf: >> >> console="comconsole vidconsole" >> console_speed=115200 >> console_port="0x" (where is the correct I/O port for COM3, >> 0x3e8 >> maybe?) > > > No dice :( > > I also tried booting with '-D -h -S 115200' but nothing either. What does "dmesg | grep uart" show? I have a PCI serial card whose serial port I'm using as a console. I had to setup comconsole_pcidev, comconsole_port, and comconsole_speed properly in loader.conf to get it to work. Regards, Navdeep ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Thu, Feb 21, 2013 at 02:07:57PM -0800, Navdeep Parhar wrote: > On 02/21/13 13:56, Daniel O'Connor wrote: > > > > On 22/02/2013, at 2:19, John Baldwin wrote: > >>> Does anyone have any hints? > >> > >> Rather than using all these hints, just use these three in loader.conf: > >> > >> console="comconsole vidconsole" > >> console_speed=115200 > >> console_port="0x" (where is the correct I/O port for COM3, > >> 0x3e8 > >> maybe?) > > > > > > No dice :( > > > > I also tried booting with '-D -h -S 115200' but nothing either. > > What does "dmesg | grep uart" show? I have a PCI serial card whose > serial port I'm using as a console. I had to setup comconsole_pcidev, > comconsole_port, and comconsole_speed properly in loader.conf to get it > to work. Do you need the comconsole_port if comconsole_pcidev is set properly ? comconsole_port should be set automatically (i.e., read from the BAR) if _pcidev is correct. pgpECUtKTLDEp.pgp Description: PGP signature
Re: IPMI serial console
On 02/21/13 14:15, Konstantin Belousov wrote: > On Thu, Feb 21, 2013 at 02:07:57PM -0800, Navdeep Parhar wrote: >> On 02/21/13 13:56, Daniel O'Connor wrote: >>> >>> On 22/02/2013, at 2:19, John Baldwin wrote: > Does anyone have any hints? Rather than using all these hints, just use these three in loader.conf: console="comconsole vidconsole" console_speed=115200 console_port="0x" (where is the correct I/O port for COM3, 0x3e8 maybe?) >>> >>> >>> No dice :( >>> >>> I also tried booting with '-D -h -S 115200' but nothing either. >> >> What does "dmesg | grep uart" show? I have a PCI serial card whose >> serial port I'm using as a console. I had to setup comconsole_pcidev, >> comconsole_port, and comconsole_speed properly in loader.conf to get it >> to work. > > Do you need the comconsole_port if comconsole_pcidev is set properly ? > comconsole_port should be set automatically (i.e., read from the BAR) > if _pcidev is correct. > I just tried it -- it works without the comconsole_port. So yes, it's reading the port value automatically. (I see it in kenv and of course I can see that my console is working). ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Thursday, February 21, 2013 4:56:02 pm Daniel O'Connor wrote: > > On 22/02/2013, at 2:19, John Baldwin wrote: > >> Does anyone have any hints? > > > > Rather than using all these hints, just use these three in loader.conf: > > > > console="comconsole vidconsole" > > console_speed=115200 > > console_port="0x" (where is the correct I/O port for COM3, 0x3e8 > > maybe?) > > > No dice :( > > I also tried booting with '-D -h -S 115200' but nothing either. Sorry, those should be 'comconsole_speed' and 'comconsole_port'. Also, you should be able to get the loader prompt working if you enter those by hand using an IPMI KVM or some such. -- John Baldwin ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 8:53, John Baldwin wrote: >> I also tried booting with '-D -h -S 115200' but nothing either. > > Sorry, those should be 'comconsole_speed' and 'comconsole_port'. Also, you > should be able to get the loader prompt working if you enter those by hand > using an IPMI KVM or some such. No luck with that either :( The IPMI serial console works for the BIOS & loader so I guess the comconsole parts work, however the kernel doesn't seem to use it even with '-D -h'. The uart(4) flags are correct (I believe) uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 8:37, Navdeep Parhar wrote: >> I also tried booting with '-D -h -S 115200' but nothing either. > > What does "dmesg | grep uart" show? I have a PCI serial card whose > serial port I'm using as a console. I had to setup comconsole_pcidev, > comconsole_port, and comconsole_speed properly in loader.conf to get it > to work. uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 The loader talks on the serial console fine, it's the kernel that doesn't use it which is the problem. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 02/21/13 14:42, Daniel O'Connor wrote: > > On 22/02/2013, at 8:37, Navdeep Parhar wrote: >>> I also tried booting with '-D -h -S 115200' but nothing either. >> >> What does "dmesg | grep uart" show? I have a PCI serial card whose >> serial port I'm using as a console. I had to setup comconsole_pcidev, >> comconsole_port, and comconsole_speed properly in loader.conf to get it >> to work. > > > uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 > uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 > uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 > > The loader talks on the serial console fine, it's the kernel that doesn't use > it which is the problem. And what do you see in kenv | egrep 'uart|com' ? ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 9:15, Navdeep Parhar wrote: >> uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 >> uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 >> uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 >> >> The loader talks on the serial console fine, it's the kernel that doesn't >> use it which is the problem. > > And what do you see in kenv | egrep 'uart|com' ? comconsole_port="0x3e8" comconsole_speed="115200" hint.uart.0.at="isa" hint.uart.0.flags="0x00" hint.uart.0.irq="4" hint.uart.0.port="0x3F8" hint.uart.1.at="isa" hint.uart.1.flags="0x00" hint.uart.1.irq="3" hint.uart.1.port="0x2F8" hint.uart.2.flags="0x30" menu_command[1]="boot" menu_command[2]="goto_prompt" menu_command[4]="toggle_acpi" menu_command[5]="toggle_safemode" menu_command[6]="toggle_singleuser" menu_command[7]="toggle_verbose" menu_timeout_command="boot" -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Thu, Feb 21, 2013 at 05:23:14PM -0500, John Baldwin wrote: > On Thursday, February 21, 2013 4:56:02 pm Daniel O'Connor wrote: > > > > On 22/02/2013, at 2:19, John Baldwin wrote: > > >> Does anyone have any hints? > > > > > > Rather than using all these hints, just use these three in loader.conf: > > > > > > console="comconsole vidconsole" > > > console_speed=115200 > > > console_port="0x" (where is the correct I/O port for COM3, > 0x3e8 > > > maybe?) > > > > > > No dice :( > > > > I also tried booting with '-D -h -S 115200' but nothing either. > > Sorry, those should be 'comconsole_speed' and 'comconsole_port'. Also, you > should be able to get the loader prompt working if you enter those by hand > using an IPMI KVM or some such. > John, this sounds very similar to a question I posed to you a few weeks ago. I guess it's not "just me" with these weird SuperMicro BMCs. :( Glen pgpwYk6Duc3EF.pgp Description: PGP signature
Re: IPMI serial console
On Fri, Feb 22, 2013 at 09:18:51AM +1030, Daniel O'Connor wrote: > > On 22/02/2013, at 9:15, Navdeep Parhar wrote: > >> uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 > >> uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 > >> uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 > >> > >> The loader talks on the serial console fine, it's the kernel that doesn't > >> use it which is the problem. It might be not the serial port, to which the loader talks. The supermicro boards I dealt with, have a feature of VGA text mode redirection to the serial port. This is how bios redirection usually works. You could look at some bios knob which controls the point where the said redirection is stopped. It should be like 'after the OS takes the control', and not 'forever'. For BIOS, the loader is OS. pgpj9EA_ZQkyx.pgp Description: PGP signature
Re: IPMI serial console
On 02/21/13 14:48, Daniel O'Connor wrote: > > On 22/02/2013, at 9:15, Navdeep Parhar wrote: >>> uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 >>> uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 >>> uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 >>> >>> The loader talks on the serial console fine, it's the kernel that doesn't >>> use it which is the problem. >> >> And what do you see in kenv | egrep 'uart|com' ? > > comconsole_port="0x3e8" > comconsole_speed="115200" > hint.uart.0.at="isa" > hint.uart.0.flags="0x00" > hint.uart.0.irq="4" > hint.uart.0.port="0x3F8" > hint.uart.1.at="isa" > hint.uart.1.flags="0x00" > hint.uart.1.irq="3" > hint.uart.1.port="0x2F8" > hint.uart.2.flags="0x30" > menu_command[1]="boot" > menu_command[2]="goto_prompt" > menu_command[4]="toggle_acpi" > menu_command[5]="toggle_safemode" > menu_command[6]="toggle_singleuser" > menu_command[7]="toggle_verbose" > menu_timeout_command="boot" No hw.uart.console, hmmm. It may be time to put some printf's in comc_setup() in boot/i386/libi386/comconsole.c and see what's up. One last thing before you take that route: if you create an environment variable named hw.uart.console in loader.conf (set it to anything), do you at least see it getting unset? That'll tell you whether comc_setup() even ran. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
> One > last thing before you take that route: if you create an environment > variable named hw.uart.console in loader.conf (set it to anything), do > you at least see it getting unset? That'll tell you whether > comc_setup() even ran. > Ignore this part, this don't quite work as I thought it did. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Fri, Feb 22, 2013 at 01:00:01AM +0200, Konstantin Belousov wrote: > On Fri, Feb 22, 2013 at 09:18:51AM +1030, Daniel O'Connor wrote: > > > > On 22/02/2013, at 9:15, Navdeep Parhar wrote: > > >> uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 > > >> uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 > > >> uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 > > >> > > >> The loader talks on the serial console fine, it's the kernel that > > >> doesn't use it which is the problem. > > It might be not the serial port, to which the loader talks. The supermicro > boards I dealt with, have a feature of VGA text mode redirection to the > serial port. This is how bios redirection usually works. As I understand it, the way this works is that the BIOS itself has code that sets the INT 0x10 (BIOS) vector to point to some of its own code, which then draws to the classic VGA framebuffer (segment 0xA000 if I remember right) as well as output characters to the serial port whenever something uses INT 0x10 ah=0x13 or ah=0x0e (or something along these lines -- pardon me if I have the function numbers wrong, it's been quite some time). Messing with those vectors, and/or touching some other things (such as initialising serial port bits in a certain way) can cause this functionality to stop working right then and there -- the assumption is that whatever just touched it did so Correctly(tm) and has set up its own code/vectors to handle the serial + VGA output. The FreeBSD bootstraps have had some changes made to them in the past 5-6 years (I can try to dig up the commits if you want, there were many) that "tweak" some of this initialisation, in attempt to minimise the amount of adjustments being made to certain bits/things (specifically to keep BIOS-level VGA-to-serial redirection from getting stomped on). I believe both boot0 and boot2/loader have been tweaked in this regard. The kernel, on the other hand, may not be doing the Right Thing(tm) once control is handed off to it. The kernel does have some knowledge of the hand-offs between boot2/loader and itself, as you know, but it sounds to me like the kernel may be tweaking something that upsets a working IPMI serial redirection. IPMI makes this situation even weirder, since it introduces its own separate serial port and other nonsense. This is one of many reasons I always avoided IPMI -- it's one of those "sounds great" inventions, but in practise is a fucking nightmare. When it works (reliably) it's great, otherwise prepare to pull your hair out. For example, the folks I knew at Yahoo in Sunnyvale who had to deal with IPMI serial console across hundreds of systems had to actually bring Supermicro engineers *to their campus* to show them the issues + get fixes (in the IPMI firmware itself). I'm not picking on Supermicro BTW, just to be clear. > You could look at some bios knob which controls the point where the > said redirection is stopped. It should be like 'after the OS takes > the control', and not 'forever'. For BIOS, the loader is OS. That would be BIOS-level stuff, not IPMI-level stuff. There's definitely a difference. What Daniel is effectively wanting is for the FreeBSD bootstraps to use serial port I/O address 0x3e8, IRQ 5, and initialise a serial port speed of 115200 -- and the kernel to use that too. He says that the bootstraps show text output from boot0 (assuming he's using -Dh -S115200 in /boot.config), and from boot2/loader too. It's once the kernel starts that he sees no output. Not until getty(8) is loaded via ttys(5) does he get output (he gets a login: prompt). It's as if the kernel is pretending there's no serial console. The reason I've advocated use of -Sxxx in /boot.config for years is because it gets around whatever idiocy there is in the FreeBSD kernel pertaining to serial port speed limitation. Possibly those boot2 changes I mentioned above have since dealt with this, but the situation used to be that without -Sxxx in /boot.config, you had to set BOOT_COMCONSOLE_SPEED=115200 in /etc/make.conf (or during buildworld and buildkernel) to achieve a serial port speed >9600bps -- otherwise FreeBSD would limit/cap the serial speed to 9600bps and you wouldn't see any output (even once getty(8) started -- yet switching the serial connection to 9600bps instantly made things work). Like I said, possibly this has been dealt with. Sorry for my rambling Email, but there's a lot of history and crap contained here (almost 10 years worth) that's hard to cover tersely. For Daniel: have you tried a verbose boot, to see if you get *anything* prior to the initial "Copyright" line? (Keep a raw I/O dump too, to see if ANY characters are received, not just printable ones -- that can sometimes help determine if some code is initialising something wrong) -- | Jeremy Chadwick j...@koitsu.org | | UNIX Systems Administratorhttp://jdc.koitsu.org/ | | Moun
Re: IPMI serial console
On 22/02/2013, at 8:33, Jeremy Chadwick wrote: >> I also tried booting with '-D -h -S 115200' but nothing either. > > Try setting the IPMI pieces (in the IPMI device itself) to 9600bps. > > Then try using 9600bps in FreeBSD (loader.conf or /boot.config, as well > as in inittab/getty). > > If this works for you, I can expand further on why, if requested. Well that broke everything :) - No messages from the BIOS - No kernel messages - No getty output Now to forward a tun interface so I can run the Java faux-VNC client and fix it. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Fri, Feb 22, 2013 at 10:01:45AM +1030, Daniel O'Connor wrote: > > On 22/02/2013, at 8:33, Jeremy Chadwick wrote: > >> I also tried booting with '-D -h -S 115200' but nothing either. > > > > Try setting the IPMI pieces (in the IPMI device itself) to 9600bps. > > > > Then try using 9600bps in FreeBSD (loader.conf or /boot.config, as well > > as in inittab/getty). > > > > If this works for you, I can expand further on why, if requested. > > > Well that broke everything :) > > - No messages from the BIOS > - No kernel messages > - No getty output > > Now to forward a tun interface so I can run the Java faux-VNC client and fix > it. Wow, that's disappointing. I wonder if the underlying IPMI firmware has a bug relating to using serial port speeds other than 115200. You can see my other mail to kib@ and -stable regarding why I recommended trying this. Sorry for making your life difficult; wasn't my intention. -- | Jeremy Chadwick j...@koitsu.org | | UNIX Systems Administratorhttp://jdc.koitsu.org/ | | Mountain View, CA, US| | Making life hard for others since 1977. PGP 4BD6C0CB | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
- Original Message - From: "Daniel O'Connor" Try setting the IPMI pieces (in the IPMI device itself) to 9600bps. Then try using 9600bps in FreeBSD (loader.conf or /boot.config, as well as in inittab/getty). If this works for you, I can expand further on why, if requested. Well that broke everything :) - No messages from the BIOS - No kernel messages - No getty output Now to forward a tun interface so I can run the Java faux-VNC client and fix it. Not a surprise if it doesnt match the serial IO speed which on all our Supermicro machines is: 115200 Which MB, which bios version, and which IPMI FW version are you using? Regards Steve This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it. In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337 or return the E.mail to postmas...@multiplay.co.uk. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 10:09, "Steven Hartland" wrote: >> Now to forward a tun interface so I can run the Java faux-VNC client and fix >> it. > > Not a surprise if it doesnt match the serial IO speed which on all our > Supermicro machines is: 115200 > > Which MB, which bios version, and which IPMI FW version are you using? X9SIL-F BIOS version 1.1 (05/27/10) IPMI firmware is 2.01. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Fri, Feb 22, 2013 at 10:23:52AM +1030, Daniel O'Connor wrote: > > On 22/02/2013, at 10:09, "Steven Hartland" wrote: > >> Now to forward a tun interface so I can run the Java faux-VNC client and > >> fix it. > > > > Not a surprise if it doesnt match the serial IO speed which on all our > > Supermicro machines is: 115200 > > > > Which MB, which bios version, and which IPMI FW version are you using? > > X9SIL-F BIOS version 1.1 (05/27/10) > IPMI firmware is 2.01. I can't find this motherboard listed on Supermicro's site. "kenv | grep smbios" output please? -- | Jeremy Chadwick j...@koitsu.org | | UNIX Systems Administratorhttp://jdc.koitsu.org/ | | Mountain View, CA, US| | Making life hard for others since 1977. PGP 4BD6C0CB | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 10:40, Jeremy Chadwick wrote: >> X9SIL-F BIOS version 1.1 (05/27/10) >> IPMI firmware is 2.01. > > I can't find this motherboard listed on Supermicro's site. > > "kenv | grep smbios" output please? Sorry, brainfart, it's an X8SIL-F http://www.supermicro.com/xeon_3400/Motherboard/X8SIL.cfm?IPMI=Y -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Fri, Feb 22, 2013 at 10:44:08AM +1030, Daniel O'Connor wrote: > > On 22/02/2013, at 10:40, Jeremy Chadwick wrote: > >> X9SIL-F BIOS version 1.1 (05/27/10) > >> IPMI firmware is 2.01. > > > > I can't find this motherboard listed on Supermicro's site. > > > > "kenv | grep smbios" output please? > > Sorry, brainfart, it's an X8SIL-F > http://www.supermicro.com/xeon_3400/Motherboard/X8SIL.cfm?IPMI=Y I would start by upgrading the system BIOS (to 1.2a), loading defaults + re-assigning whatever you normally change, and then upgrading the IPMI firmware (to 2.66) + doing the same. If you have multiple systems of this type, do this on just *one* which you can """sacrifice""" for testing. If the issues you're encountering happen afterward, I won't be surprised, but it's good to rule out the above. Besides, if this turns out to be some weird IPMI bug, Supermicro is going to tell you to the above anyway. :-) -- | Jeremy Chadwick j...@koitsu.org | | UNIX Systems Administratorhttp://jdc.koitsu.org/ | | Mountain View, CA, US| | Making life hard for others since 1977. PGP 4BD6C0CB | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 9:59, Jeremy Chadwick wrote: > The reason I've advocated use of -Sxxx in /boot.config for years is > because it gets around whatever idiocy there is in the FreeBSD kernel > pertaining to serial port speed limitation. Possibly those boot2 > changes I mentioned above have since dealt with this, but the situation > used to be that without -Sxxx in /boot.config, you had to set > BOOT_COMCONSOLE_SPEED=115200 in /etc/make.conf (or during buildworld and > buildkernel) to achieve a serial port speed >9600bps -- otherwise > FreeBSD would limit/cap the serial speed to 9600bps and you wouldn't see > any output (even once getty(8) started -- yet switching the serial > connection to 9600bps instantly made things work). Like I said, > possibly this has been dealt with. Hmm I tried putting '-S 115200' in /boot.config and it broke - the boot process didn't run the loader (or kernel). > Sorry for my rambling Email, but there's a lot of history and crap > contained here (almost 10 years worth) that's hard to cover tersely. So much cruft :( > For Daniel: have you tried a verbose boot, to see if you get *anything* > prior to the initial "Copyright" line? (Keep a raw I/O dump too, to see > if ANY characters are received, not just printable ones -- that can > sometimes help determine if some code is initialising something wrong) I had a look by running ipmitool inside script but I could not see any characters after the BIOS prints a countdown to boot. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 10:49, Jeremy Chadwick wrote: >> Sorry, brainfart, it's an X8SIL-F >> http://www.supermicro.com/xeon_3400/Motherboard/X8SIL.cfm?IPMI=Y > > I would start by upgrading the system BIOS (to 1.2a), loading defaults + > re-assigning whatever you normally change, and then upgrading the IPMI > firmware (to 2.66) + doing the same. If you have multiple systems of > this type, do this on just *one* which you can """sacrifice""" for > testing. > > If the issues you're encountering happen afterward, I won't be > surprised, but it's good to rule out the above. > > Besides, if this turns out to be some weird IPMI bug, Supermicro is > going to tell you to the above anyway. :-) Yeah good point. It will have to wait until Tuesday when I can sit in front of it (faster that way). -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Fri, Feb 22, 2013 at 10:51:17AM +1030, Daniel O'Connor wrote: > > On 22/02/2013, at 9:59, Jeremy Chadwick wrote: > > The reason I've advocated use of -Sxxx in /boot.config for years is > > because it gets around whatever idiocy there is in the FreeBSD kernel > > pertaining to serial port speed limitation. Possibly those boot2 > > changes I mentioned above have since dealt with this, but the situation > > used to be that without -Sxxx in /boot.config, you had to set > > BOOT_COMCONSOLE_SPEED=115200 in /etc/make.conf (or during buildworld and > > buildkernel) to achieve a serial port speed >9600bps -- otherwise > > FreeBSD would limit/cap the serial speed to 9600bps and you wouldn't see > > any output (even once getty(8) started -- yet switching the serial > > connection to 9600bps instantly made things work). Like I said, > > possibly this has been dealt with. > > Hmm I tried putting '-S 115200' in /boot.config and it broke - the boot > process didn't run the loader (or kernel). I'll talk a bit about this -- again, sorry for the verbosity. I'll explain what I've historically used/done, then speculate a bit about your IPMI stuff: For me, on systems without IPMI, all I had to do was this (and nothing else): * Put the following in /boot.config: -S115200 -Dh * Within the PC BIOS, enable VGA-to-serial redirection, setting the serial port to 115200, 8-N-1, COM1 (if I remember right for our boards), and hardware flow control enabled. I also remember enabling an option called something like "Retain POST Hand-off" (I can dig up the actual BIOS option name if you want), which causes the INT 0x10 interrupt vector re-route for BIOS output to be retained ***after*** POST. All the VGA-to-serial redir allows is the ability to go into the BIOS via the serial port (by pressing Ctrl-? (Backspace or Del depending on your terminal setup)), see the BIOS boot-up via serial, option ROM boot messages, PXE option ROM messages, and so on. That BIOS option whose name I forget also allows you to see messages past that point (as long as code being run doesn't stomp over the interrupt vectors). Thus with boot0 (rather than boot0sio -- I've never used boot0sio) this allows you to see any boot0 related messages (if any) due to VGA-serial redirection. boot0 is the classic 512-byte stuff, so there isn't much room to tinker there. boot1/boot2 is what loads /boot.config and outputs messages like "/boot.config: -S115200 -Dh" on (if my memory serves me right) both serial and VGA console. It's also responsible for the ">> FreeBSD/i386 BOOT" prompts, which you can induce if you hit a key (serial or physical) very early on in the boot process. boot2 is, if I remember right, what actually ends up doing a bunch of other "stuff" that can often anger serial ports or "redirection" bits that a BIOS may be doing behind the scenes. Things are then handed off to loader (the big FreeBSD logo menu, etc.), which also has its own set of variables which you can set for serial console/etc. -- but are not necessary if you use /boot.config, since boot1/boot2 pass on to loader the fact that -Dh is being used, and thus loader should not mess with anything. Then loader loads xxx_load modules and the kernel, and starts the kernel. The kernel, before any output is printed (hence my request for a verbose boot (thinking it might print something beforehand)), does a whole bunch of magic which (for lack of better term) "stomps over" all of the previous bootloaders' work. There is a hand-off between loader and the kernel regarding serial console usage. I never saw kernel output on the VGA console at this point -- only serial; the FreeBSD Handbook documents this fact. You will, however, on VGA console see the cursor change shape (changing the cursor mask) at some point. Finally init(8) gets run, which in turn uses ttys(5), thus getty(8) gets run to adjust the terminal parms on /dev/ttyuX, speed, etc. and bring up a "login:" prompt for the serial console. The End. Now for you... Your situation may be different because you have 3 serial ports (2 classic DB9 ports or headers, and one "fake" via IPMI), so you may need to rely entirely on /boot/loader.conf to accomplish use of the IPMI one, unless you wanted to set BOOT_COMCONSOLE_PORT. I believe boot2 assumes 0x3f8 as the serial console I/O port (unless BOOT_COMCONSOLE_PORT is redefined per make.conf etc.), so -S would be adjusting the speed of that. I'm still not sure how boot2/etc. figures out what IRQ to use for an alternate port (betting there's some PC architecture thing which I've forgotten that can return this), since in your case the IPMI serial port is 0x3e8, IRQ 5. Possibly the reason you see via the IPMI serial port at this stage is because IPMI also does VGA-to-IPMI output, so what you're seeing on the IPMI serial port is actually from the VGA console (speculation on my part). So there are many "phases" of the whole thing where something can go wrong. It sounds to me like the iss
Re: IPMI serial console
In article <20130221233838.gb92...@icarus.home.lan>, j...@koitsu.org writes: >Wow, that's disappointing. I wonder if the underlying IPMI firmware has >a bug relating to using serial port speeds other than 115200. The bug may be in the BIOS where it claims you can select some other speed. Certainly none of the Dell iDRAC systems I've ever seen support anything other than 115.2, despite there being a speed setting in the BIOS. But we're building a custom OS image anyway, so it was no hardship to put that into /boot. -GAWollman ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 9:30, Konstantin Belousov wrote: > On Fri, Feb 22, 2013 at 09:18:51AM +1030, Daniel O'Connor wrote: >> >> On 22/02/2013, at 9:15, Navdeep Parhar wrote: uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 The loader talks on the serial console fine, it's the kernel that doesn't use it which is the problem. > > It might be not the serial port, to which the loader talks. The supermicro > boards I dealt with, have a feature of VGA text mode redirection to the > serial port. This is how bios redirection usually works. Ahh OK, sneaky sneaky.. My has 'Forever', 'Until boot loader', and 'never', so I selected the second one. > You could look at some bios knob which controls the point where the > said redirection is stopped. It should be like 'after the OS takes > the control', and not 'forever'. For BIOS, the loader is OS. I just tried rebuilding the boot blocks to work at 115200 like so.. cd /usr/src/sys/boot make BOOT_COMCONSOLE_SPEED=115200 sudo make install sudo gpart bootcode -b /boot/pmbr -b /boot/gptboot -i 1 /dev/da0 However no luck either (with the above change) -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 12:02, Jeremy Chadwick wrote: >> Hmm I tried putting '-S 115200' in /boot.config and it broke - the boot >> process didn't run the loader (or kernel). > > I'll talk a bit about this -- again, sorry for the verbosity. I'll > explain what I've historically used/done, then speculate a bit about > your IPMI stuff: > > For me, on systems without IPMI, all I had to do was this (and nothing > else): > > * Put the following in /boot.config: > > -S115200 -Dh This breaks the boot for me, boot.config has to contain more than just flags it seems. In any case I believe setting boot_multicons and boot_serial is the same as -Dh. Not sure about the baud rate though. > situation may be different because you have 3 serial ports (2 > classic DB9 ports or headers, and one "fake" via IPMI), so you may need > to rely entirely on /boot/loader.conf to accomplish use of the IPMI one, > unless you wanted to set BOOT_COMCONSOLE_PORT. OK, I made some more progress, I rebuilt the /usr/src/sys/boot with BOOT_COMCONSOLE_SPEED=115200 BOOT_COMCONSOLE_PORT=0x3e8 and now the loader talks to me without VGA to serial redirection. > Possibly the reason you see via the IPMI serial port at this stage is > because IPMI also does VGA-to-IPMI output, so what you're seeing on the > IPMI serial port is actually from the VGA console (speculation on my > part). Yes this was the case until just now. > Debugging all of this is as you know a PITA because of where during the > whole startup process it lies. IPMI just makes this whole thing an even > bigger mess because it ties itself in to bits/pieces along the way, > which a kernel (or even a bootloader, depending on what it touches and > how), can mess up. This is why I've always stuck with the classic DB9 > serial ports on the backplane; I know how to get FreeBSD to behave right > with those, everything else is voodoo. :-) Yep, it's all kludges bolted on top of hacks. > Part of me wonders if it's possible to disable, say, COM1 in the BIOS, > then in the IPMI firmware tell it to user a serial I/O port of 0x3f8, > IRQ 4 (i.e. COM1) and see if that works with the method I describe > above. I don't have much familiarity with IPMI by choice, solely > because of situations exactly like what you're going through. I have > the same opinion of those damn NIC ASF things (see bge(4)) -- which is Yeah I may look at that if I can't proceed any further. > exactly why many motherboard vendors that do IPMI now offer a > *physically separate NIC/RJ45 port* for it, rather than "piggybacking": > the latter caused so much pain/anger that it wasn't worth it. I assumed that the separate NIC was to avoid this problem, however I have since found that the default on the SM boards I looked at is to use the dedicated port otherwise share(!). So the worst of both worlds, hooray! -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Fri, Feb 22, 2013 at 02:22:52PM +1030, Daniel O'Connor wrote: > On 22/02/2013, at 12:02, Jeremy Chadwick wrote: > >> Hmm I tried putting '-S 115200' in /boot.config and it broke - the boot > >> process didn't run the loader (or kernel). > > > > I'll talk a bit about this -- again, sorry for the verbosity. I'll > > explain what I've historically used/done, then speculate a bit about > > your IPMI stuff: > > > > For me, on systems without IPMI, all I had to do was this (and nothing > > else): > > > > * Put the following in /boot.config: > > > > -S115200 -Dh > > This breaks the boot for me, boot.config has to contain more than just > flags it seems. In any case I believe setting boot_multicons and > boot_serial is the same as -Dh. Not sure about the baud rate though. Then someone broke something (parser or something else). This has always, *always* worked (just flags). The last time I verified it was with the release of 9.0-RELEASE. I do have a system I could test this on, but I'd need to find a null modem cable first. I have seen some MFCs that touch those bits in the bootloader, but from my memory it didn't touch anything other than supporting /boot/config as an alternate location to the classic /boot.config file. I would be very surprised if this broke it. I can assure you that those were the only flags that were needed, and in exactly that syntax. Even the Handbook has this in it, as well as boot(8). I believe your explanation of boot_multicons and boot_serial are correct and do correlate with -D and -h. I could look at the bootstrap code to verify. The options are described in loader(8) but not loader.conf(5). The drawback to using the /boot/loader.conf variables is that you won't get boot2 output because loader is what reads /boot/loader.conf, not boot2. Thus you lose the ability to deal with the system via serial at the boot2 stage. For me, this has always been a deal-breaker. This is why I always advocate /boot.config. (Note to readers: if I'm wrong about this, please correct me, and point me to the relevant code) > > > situation may be different because you have 3 serial ports (2 > > classic DB9 ports or headers, and one "fake" via IPMI), so you may need > > to rely entirely on /boot/loader.conf to accomplish use of the IPMI one, > > unless you wanted to set BOOT_COMCONSOLE_PORT. > > OK, I made some more progress, I rebuilt the /usr/src/sys/boot with > BOOT_COMCONSOLE_SPEED=115200 BOOT_COMCONSOLE_PORT=0x3e8 and now the > loader talks to me without VGA to serial redirection. Huzzah! Do you get output from the kernel now, or still just bootstraps and loader, then silence until getty runs? > > exactly why many motherboard vendors that do IPMI now offer a > > *physically separate NIC/RJ45 port* for it, rather than "piggybacking": > > the latter caused so much pain/anger that it wasn't worth it. > > I assumed that the separate NIC was to avoid this problem, however I > have since found that the default on the SM boards I looked at is to > use the dedicated port otherwise share(!). So the worst of both > worlds, hooray! Depends on the board and the IPMI integration. Most of the newer boards (past 3-4 years) I've seen have a dedicated LAN port on their IPMI add-on board; e.g. a dual-NIC motherboard has 2 NICs, then there's a 3rd NIC on the IPMI card/port. I have seen the shared ones though, and that's where the ASF stuff comes into play (ugh ugh ugh). I've always avoided all the boards that have "on-board" IPMI of any sort. -- | Jeremy Chadwick j...@koitsu.org | | UNIX Systems Administratorhttp://jdc.koitsu.org/ | | Mountain View, CA, US| | Making life hard for others since 1977. PGP 4BD6C0CB | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 22/02/2013, at 14:59, Jeremy Chadwick wrote: >> This breaks the boot for me, boot.config has to contain more than just >> flags it seems. In any case I believe setting boot_multicons and >> boot_serial is the same as -Dh. Not sure about the baud rate though. > > Then someone broke something (parser or something else). This has > always, *always* worked (just flags). The last time I verified it was > with the release of 9.0-RELEASE. I do have a system I could test this > on, but I'd need to find a null modem cable first. Weird, this is 9.1 - I wouldn't expect any changes.. > I have seen some MFCs that touch those bits in the bootloader, but from > my memory it didn't touch anything other than supporting /boot/config as > an alternate location to the classic /boot.config file. I would be very > surprised if this broke it. > > I can assure you that those were the only flags that were needed, and in > exactly that syntax. Even the Handbook has this in it, as well as > boot(8). > > I believe your explanation of boot_multicons and boot_serial are correct > and do correlate with -D and -h. I could look at the bootstrap code to > verify. The options are described in loader(8) but not loader.conf(5). > > The drawback to using the /boot/loader.conf variables is that you won't > get boot2 output because loader is what reads /boot/loader.conf, not > boot2. Thus you lose the ability to deal with the system via serial at > the boot2 stage. For me, this has always been a deal-breaker. This is > why I always advocate /boot.config. (Note to readers: if I'm wrong > about this, please correct me, and point me to the relevant code) Ah that is a fair point. >> BOOT_COMCONSOLE_SPEED=115200 BOOT_COMCONSOLE_PORT=0x3e8 and now the >> loader talks to me without VGA to serial redirection. > > Huzzah! Do you get output from the kernel now, or still just bootstraps > and loader, then silence until getty runs? Sadly no, I just the loader then getty. >> I assumed that the separate NIC was to avoid this problem, however I >> have since found that the default on the SM boards I looked at is to >> use the dedicated port otherwise share(!). So the worst of both >> worlds, hooray! > > Depends on the board and the IPMI integration. Most of the newer boards > (past 3-4 years) I've seen have a dedicated LAN port on their IPMI > add-on board; e.g. a dual-NIC motherboard has 2 NICs, then there's a 3rd > NIC on the IPMI card/port. I have seen the shared ones though, and > that's where the ASF stuff comes into play (ugh ugh ugh). I've always > avoided all the boards that have "on-board" IPMI of any sort. I have boards with 3 RJ45 ports, 1 IPMI & 2 normal (em devices). The IMPI configuration has an option to use the dedicated port only, try that first then on failure share em0, or share em0 only. The default is try the dedicate port then if that fails share em0 :( -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
In my case, and so far only on Sun Fire X220(*), the IPMI gets stuck as soon as the kernel initializes bge, playing with hw.bge.allow_asf did not help (the above changed in 9.1) btw, also the http get stuck *: sun calls it ILO, but as Jeremy points out, all this is a mess. danny ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Feb 21, 2013, at 11:29 PM, Jeremy Chadwick wrote: > On Fri, Feb 22, 2013 at 02:22:52PM +1030, Daniel O'Connor wrote: >> On 22/02/2013, at 12:02, Jeremy Chadwick wrote: Hmm I tried putting '-S 115200' in /boot.config and it broke - the boot process didn't run the loader (or kernel). >>> >>> I'll talk a bit about this -- again, sorry for the verbosity. I'll >>> explain what I've historically used/done, then speculate a bit about >>> your IPMI stuff: >>> >>> For me, on systems without IPMI, all I had to do was this (and nothing >>> else): >>> >>> * Put the following in /boot.config: >>> >>> -S115200 -Dh >> >> This breaks the boot for me, boot.config has to contain more than just >> flags it seems. In any case I believe setting boot_multicons and >> boot_serial is the same as -Dh. Not sure about the baud rate though. > > Then someone broke something (parser or something else). This has > always, *always* worked (just flags). The last time I verified it was > with the release of 9.0-RELEASE. I do have a system I could test this > on, but I'd need to find a null modem cable first. > > I have seen some MFCs that touch those bits in the bootloader, but from > my memory it didn't touch anything other than supporting /boot/config as > an alternate location to the classic /boot.config file. I would be very > surprised if this broke it. > > I can assure you that those were the only flags that were needed, and in > exactly that syntax. Even the Handbook has this in it, as well as > boot(8). > > I believe your explanation of boot_multicons and boot_serial are correct > and do correlate with -D and -h. I could look at the bootstrap code to > verify. The options are described in loader(8) but not loader.conf(5). I think something did break back at the start of the year that caused /boot.config contents to render the system completely unbootable. At least that is what happened to me on RELENG_8: http://lists.freebsd.org/pipermail/freebsd-stable/2013-January/071579.html Bruce A. Mah reports later in the same thread that his happened to him on 8.3-RELEASE. I don't know if this was fixed. Cheers, Paul. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Feb 21, 2013, at 7:14 PM, "Daniel O'Connor" wrote: > > On 22/02/2013, at 10:40, Jeremy Chadwick wrote: >>> X9SIL-F BIOS version 1.1 (05/27/10) >>> IPMI firmware is 2.01. >> >> I can't find this motherboard listed on Supermicro's site. >> >> "kenv | grep smbios" output please? > > > Sorry, brainfart, it's an X8SIL-F > http://www.supermicro.com/xeon_3400/Motherboard/X8SIL.cfm?IPMI=Y I am also using that motherboard and currently IPMI is working for me under 9.1-STABLE (r246366). My system has BIOS version 1.2 and IPMI firmware version 2.66. I have both the VGA KVM console and SOL console working (though the VGA console seems sensitive to the version of Java you have installed). I am using sysutils/ipmitool to access the system via IPMI SOL console. Here is what my IPMI SOL setup looks like in the BIOS setup screen: Advanced * Advanced - Remote Access Configuration * Select Remote Access * * *** * type. * * Remote Access [Enabled]** * ** * Serial Port Number [COM3 *] ** * Base Address, IRQ [3E8h, 5]** * Serial Port Mode [115200 8,n,1] ** * Flow Control [None] ** * Redirection After BIOS POST[Always] ** * Terminal Type [ANSI] ** * VT-UTF8 Combo Key Support [Enabled]** * Sredir Memory Display Delay[No Delay] ** * * :Move* * * Enter:Select * * * +/-/:Value * * * F10:Save * * * ESC:Exit * * * F1:General Help * * * F8:Fail-Safe Defaults* * * F9:Optimized Defaults* Here is what I have in /boot/loader.conf regarding a serial console: = # Enable IPMI serial console #console="comconsole" # Give preference to VGA console console="vidconsole,comconsole" # Uncomment below and comment above to give serial console preference #console="comconsole,vidconsole" comconsole_speed="115200" boot_multicons="YES" hint.uart.0.flags="0x0" hint.uart.2.at="isa" hint.uart.2.port="0x3E8" #hint.uart.2.disabled="0" hint.uart.2.flags="0x30" = I don't know whether all of that is needed, but, as you can see from the various commented-out lines, it was a configuration I "arrived at" that works. :-) I don't have a /boot.config on this system. Usually, I have the VGA console take precedence. In that case, I get messages on both the VGA console and the IPMI SOL console during the BIOS screen, loader, and kernel boot messages but then only messages on the VGA console during the rc.d boot phase. I have a serial console enabled in /etc/ttys, so I get output (e.g., getty login) on the IPMI SOL when that is eventually spawned. If I want to have the serial console take precedence, I usually escape to the loader prompt (via ESC at the loader menu) and issue a "set console="comconsole,vidconsole"" command. Then, the rc.d boot output goes to the serial console and not the VGA console. (It would be nice to have rc.d init scripts output go to both consoles, but I don't know whether that is possible.) Cheers, Paul. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 23/02/2013, at 24:36, Paul Mather wrote: > I don't know whether all of that is needed, but, as you can see from the > various commented-out lines, it was a configuration I "arrived at" that > works. :-) > > I don't have a /boot.config on this system. OK, that gives me hope :) > Usually, I have the VGA console take precedence. In that case, I get > messages on both the VGA console and the IPMI SOL console during the BIOS > screen, loader, and kernel boot messages but then only messages on the VGA > console during the rc.d boot phase. I have a serial console enabled in > /etc/ttys, so I get output (e.g., getty login) on the IPMI SOL when that is > eventually spawned. If I want to have the serial console take precedence, I > usually escape to the loader prompt (via ESC at the loader menu) and issue a > "set console="comconsole,vidconsole"" command. Then, the rc.d boot output > goes to the serial console and That is basically what I want - I am looking for a way to run fsck or diagnose boot issues without having to fire up the Java app and tunnelling into the network. > not the VGA console. (It would be nice to have rc.d init scripts output go > to both consoles, but I don't know whether that is possible.) Yeah that would be very nice, I will take what you have though :) -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
Al 21/02/2013 16:49, En/na John Baldwin ha escrit: On Thursday, February 21, 2013 5:45:13 am Daniel O'Connor wrote: Hi all, A recent thread inspired me to try getting a proper serial console working on a Supermicro X9SCL motherboard with IPMI. However I find that while I see loader messages and the getty I enabled after boot I don't get any kernel messages which does somewhat limit the utility.. The BMC creates COM3 (/dev/cuau2) which works with getty. I modified /boot/loader.conf like so.. boot_multicons="yes" boot_serial="YES" console="comconsole vidconsole" comconsole_speed="115200" # Disable console flags on these 2 ports hint.uart.0.flags="0x00" hint.uart.1.flags="0x00" # Set console flag hint.uart.2.flags="0x10" Does anyone have any hints? Rather than using all these hints, just use these three in loader.conf: console="comconsole vidconsole" console_speed=115200 console_port="0x" (where is the correct I/O port for COM3, 0x3e8 maybe?) John's suggestion works for me with a bunch of DELL's servers (1950, 2950 and R710). I can activate the SOL (Serial Over Lan) easily. I only need to tell the loader to set the console flag for UART1 (I did it via device.hints instead of using loader.conf, mergemaster complains every time, I'll move that setting in the next update cycle). I I also needed to tell the DELL BMC (in its BIOS) to use UART1 and to redirect the UART1 (which has no physical connector) to the UART0. I guess you need to tweak something in the BIOS. I'd say I know someone also doing this with an few old supermicros, but I'm sure they run FreeBSD or Linux. I can check next monday. OTOH, setting the comconsole speed to something higher than 9600 has never worked for me, neither with the DELL servers nor with any other FreeBSD box without SOL. The handbook states that the "comconsole_speed" sets the console speed, but John says "console_speed" is the parameter. Is the handbook outdated? Gustau -- Gustau --- Prou top-posting : http://ca.wikipedia.org/wiki/Top-posting Stop top-posting : http://en.wikipedia.org/wiki/Posting_style O O O Gustau Pérez i Querol O O O Unitat de Gestió dels departaments O O O Matemàtica Aplicada IV i Enginyeria Telemàtica Universitat Politècnica de Catalunya Edifici C3 - Despatx S101-B UPC Campus Nord UPC C/ Jordi Girona, 1-3 08034 - Barcelona ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Thursday, February 21, 2013 5:55:01 pm Glen Barber wrote: > On Thu, Feb 21, 2013 at 05:23:14PM -0500, John Baldwin wrote: > > On Thursday, February 21, 2013 4:56:02 pm Daniel O'Connor wrote: > > > > > > On 22/02/2013, at 2:19, John Baldwin wrote: > > > >> Does anyone have any hints? > > > > > > > > Rather than using all these hints, just use these three in loader.conf: > > > > > > > > console="comconsole vidconsole" > > > > console_speed=115200 > > > > console_port="0x" (where is the correct I/O port for > > > > COM3, > > 0x3e8 > > > > maybe?) > > > > > > > > > No dice :( > > > > > > I also tried booting with '-D -h -S 115200' but nothing either. > > > > Sorry, those should be 'comconsole_speed' and 'comconsole_port'. Also, you > > should be able to get the loader prompt working if you enter those by hand > > using an IPMI KVM or some such. > > > > John, this sounds very similar to a question I posed to you a few weeks > ago. I guess it's not "just me" with these weird SuperMicro BMCs. :( I am using exactly this on many SuperMicro X8 and X9 boards. -- John Baldwin ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On Thursday, February 21, 2013 5:42:08 pm Daniel O'Connor wrote: > > On 22/02/2013, at 8:53, John Baldwin wrote: > >> I also tried booting with '-D -h -S 115200' but nothing either. > > > > Sorry, those should be 'comconsole_speed' and 'comconsole_port'. Also, you > > should be able to get the loader prompt working if you enter those by hand > > using an IPMI KVM or some such. > > > No luck with that either :( > > The IPMI serial console works for the BIOS & loader so I guess the comconsole parts work, however the kernel doesn't seem to use it even with '-D -h'. > > The uart(4) flags are correct (I believe) > uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0 > uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 > uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 flags 0x30 on acpi0 The way this works with the kernel is that the loader has to be setting a hw.uart.console hint based on comconsole_port. The hint.uart.X.flags settings are completely ignored for this. Also, for 9.1, you must set the speed before you set the port (so the order of lines in loader.conf matters), or hw.uart.console will tell the kernel to use 9600 instead of 115200. -- John Baldwin ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
Re: IPMI serial console
On 23/02/2013, at 24:36, Paul Mather wrote: > boot_multicons="YES" > hint.uart.0.flags="0x0" > hint.uart.2.at="isa" > hint.uart.2.port="0x3E8" > #hint.uart.2.disabled="0" > hint.uart.2.flags="0x30" > = I updated the BIOS & IPMI fiwmare and now it works. Thanks! Interestingly if you don't have hint.uart.0.flags="0x0" then it goes weird and stuff comes out the video console at 1bps.. And it seems to pick uart.0 as the console even though I also put comconsole_port in there. So it seems that for 9.1 at least comconsole_port doesn't DTRT. I commented it out but left the rest of the UART hints and things still worked. > I don't know whether all of that is needed, but, as you can see from the > various commented-out lines, it was a configuration I "arrived at" that > works. :-) Yep, thanks again for taking the time as it works for me too. > Usually, I have the VGA console take precedence. In that case, I get > messages on both the VGA console and the IPMI SOL console during the BIOS > screen, loader, and kernel boot messages but then only messages on the VGA > console during the rc.d boot phase. I have a serial console enabled in > /etc/ttys, so I get output (e.g., getty login) on the IPMI SOL when that is > eventually spawned. If I want to have the serial > console take precedence, I usually escape to the loader prompt (via ESC at > the loader menu) and issue a "set console="comconsole,vidconsole"" command. > Then, the rc.d boot output goes to the serial console and not the VGA > console. (It would be nice to have rc.d init scripts output go to both > consoles, but I don't know whether that is possible.) I guess the rc.d stuff goes out to whatever device is the nominal console, rather than to the logical console which then splits the output to all of the physical devices attached to it. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"