Re: IPMI serial console

2013-02-27 Thread Daniel O'Connor

On 23/02/2013, at 24:36, Paul Mather p...@gromit.dlib.vt.edu 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


Re: IPMI serial console

2013-02-26 Thread John Baldwin
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 j...@freebsd.org 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=0xblah  (where blah 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

2013-02-26 Thread John Baldwin
On Thursday, February 21, 2013 5:42:08 pm Daniel O'Connor wrote:
 
 On 22/02/2013, at 8:53, John Baldwin j...@freebsd.org 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

2013-02-23 Thread Gustau Pérez i Querol

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=0xblah  (where blah 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

2013-02-22 Thread Paul Mather
On Feb 21, 2013, at 11:29 PM, Jeremy Chadwick j...@koitsu.org wrote:

 On Fri, Feb 22, 2013 at 02:22:52PM +1030, Daniel O'Connor wrote:
 On 22/02/2013, at 12:02, Jeremy Chadwick j...@koitsu.org 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

2013-02-22 Thread Paul Mather
On Feb 21, 2013, at 7:14 PM, Daniel O'Connor docon...@gsoft.com.au wrote:

 
 On 22/02/2013, at 10:40, Jeremy Chadwick j...@koitsu.org 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

2013-02-22 Thread Daniel O'Connor

On 23/02/2013, at 24:36, Paul Mather p...@gromit.dlib.vt.edu 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


IPMI serial console

2013-02-21 Thread Daniel O'Connor
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?

--
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

2013-02-21 Thread John Baldwin
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=0xblah  (where blah 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 2:19, John Baldwin j...@freebsd.org 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=0xblah  (where blah 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

2013-02-21 Thread Jeremy Chadwick
On Fri, Feb 22, 2013 at 08:26:02AM +1030, Daniel O'Connor wrote:
 On 22/02/2013, at 2:19, John Baldwin j...@freebsd.org 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=0xblah  (where blah 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

2013-02-21 Thread Navdeep Parhar
On 02/21/13 13:56, Daniel O'Connor wrote:
 
 On 22/02/2013, at 2:19, John Baldwin j...@freebsd.org 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=0xblah  (where blah 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

2013-02-21 Thread Konstantin Belousov
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 j...@freebsd.org 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=0xblah  (where blah 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

2013-02-21 Thread Navdeep Parhar
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 j...@freebsd.org 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=0xblah  (where blah 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

2013-02-21 Thread John Baldwin
On Thursday, February 21, 2013 4:56:02 pm Daniel O'Connor wrote:
 
 On 22/02/2013, at 2:19, John Baldwin j...@freebsd.org 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=0xblah  (where blah 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 8:53, John Baldwin j...@freebsd.org 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 8:37, Navdeep Parhar npar...@gmail.com 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

2013-02-21 Thread Navdeep Parhar
On 02/21/13 14:42, Daniel O'Connor wrote:
 
 On 22/02/2013, at 8:37, Navdeep Parhar npar...@gmail.com 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 9:15, Navdeep Parhar npar...@gmail.com 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

2013-02-21 Thread Glen Barber
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 j...@freebsd.org 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=0xblah  (where blah 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

2013-02-21 Thread Konstantin Belousov
On Fri, Feb 22, 2013 at 09:18:51AM +1030, Daniel O'Connor wrote:
 
 On 22/02/2013, at 9:15, Navdeep Parhar npar...@gmail.com 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

2013-02-21 Thread Navdeep Parhar
On 02/21/13 14:48, Daniel O'Connor wrote:
 
 On 22/02/2013, at 9:15, Navdeep Parhar npar...@gmail.com 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

2013-02-21 Thread Navdeep Parhar

 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

2013-02-21 Thread Jeremy Chadwick
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 npar...@gmail.com 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/ |
| Mountain View, CA, US

Re: IPMI serial console

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 8:33, Jeremy Chadwick j...@koitsu.org 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

2013-02-21 Thread Jeremy Chadwick
On Fri, Feb 22, 2013 at 10:01:45AM +1030, Daniel O'Connor wrote:
 
 On 22/02/2013, at 8:33, Jeremy Chadwick j...@koitsu.org 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

2013-02-21 Thread Steven Hartland
- 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 10:09, Steven Hartland kill...@multiplay.co.uk 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

2013-02-21 Thread Jeremy Chadwick
On Fri, Feb 22, 2013 at 10:23:52AM +1030, Daniel O'Connor wrote:
 
 On 22/02/2013, at 10:09, Steven Hartland kill...@multiplay.co.uk 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 10:40, Jeremy Chadwick j...@koitsu.org 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

2013-02-21 Thread Jeremy Chadwick
On Fri, Feb 22, 2013 at 10:44:08AM +1030, Daniel O'Connor wrote:
 
 On 22/02/2013, at 10:40, Jeremy Chadwick j...@koitsu.org 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 9:59, Jeremy Chadwick j...@koitsu.org 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 10:49, Jeremy Chadwick j...@koitsu.org 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

2013-02-21 Thread Jeremy Chadwick
On Fri, Feb 22, 2013 at 10:51:17AM +1030, Daniel O'Connor wrote:
 
 On 22/02/2013, at 9:59, Jeremy Chadwick j...@koitsu.org 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 issue is either in boot2 or the 

Re: IPMI serial console

2013-02-21 Thread Garrett Wollman
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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 9:30, Konstantin Belousov kostik...@gmail.com wrote:
 On Fri, Feb 22, 2013 at 09:18:51AM +1030, Daniel O'Connor wrote:
 
 On 22/02/2013, at 9:15, Navdeep Parhar npar...@gmail.com 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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 12:02, Jeremy Chadwick j...@koitsu.org 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.

snip
  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

2013-02-21 Thread Jeremy Chadwick
On Fri, Feb 22, 2013 at 02:22:52PM +1030, Daniel O'Connor wrote:
 On 22/02/2013, at 12:02, Jeremy Chadwick j...@koitsu.org 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)

 snip
   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

2013-02-21 Thread Daniel O'Connor

On 22/02/2013, at 14:59, Jeremy Chadwick j...@koitsu.org 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

2013-02-21 Thread Daniel Braniss
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