Problems with UART terminal on Itanium server
Nadal, Felip
felip.nadal at hob.de
Fri Dec 6 14:47:46 UTC 2013
Thanks!
Adding the device/vendor id to uart_bus_pci and pucdata.c worked. I will send a little patch as soon as I can clean my sources.
Best,
Felip.
________________________________________
De: John Baldwin [jhb at freebsd.org]
Enviat el: dimarts, 3 / desembre / 2013 16:58
Per a: freebsd-ia64 at freebsd.org
Cc: Nadal, Felip; ia64 at freebsd.org
Tema: Re: Problems with UART terminal on Itanium server
On Monday, December 02, 2013 8:24:08 am Nadal, Felip wrote:
> Dear all,
>
> I apologize in advance if this is not the correct list to send this mail.
Maybe this problem is not Itanium-specific but since we are experiencing this
problem on an Itanium server I am sending this here.
>
> We have 2 identical HP rx2800 i4 Itanium servers in our company and we are
experiencing many problems trying to install FreeBSD on these machines.
Currently we work with FreeBSD 8.something (it is a patched version) because
we can't boot FreeBSD 9 at all (we get no output after loading the kernel with
FreeBSD 9).
>
> We are connecting to these machines through ILO3 (HP's Integrated Lights
Out) serial device. This device is used in non Itanium HP servers too. We can
boot FreeBSD 8 on these machines but when sysinstall starts it opens
/dev/ttyu0 and we lose all the output coming from it, so we can't install
anything. We have tried to create some custom CDs changing sysinstall by other
init programs but we experience the same behaviour, so it is a problem with
the console and not with sysinstall.
>
> We have succeded installing Debian Linux on one of these machines, so we can
compare the debug output from Debian and FreeBSD. We think that FreeBSD isn't
correctly detecting ILO's serial device.
>
> On Linux we see:
> (much output)
> [ 15.486424] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [ 15.583543] 00:03: ttyS0 at I/O 0x2f8 (irq = 49) is a 16550A
> [ 15.668593] serial 0000:0a:00.5: PCI INT A -> GSI 17 (level, low) -> IRQ
50
> [ 15.777781] 0000:0a:00.5: ttyS1 at I/O 0x4000 (irq = 50) is a 16550A
> [ 15.877265] console [ttyS1] enabled, bootconsole disabled
> (more output)
>
> and then everything works ok. Linux uses ttyS1 (port 0x4000) as the main
console. The other one seems to be some kind of dummy device, as we only have
1 physical serial port.
>
>
> On FreeBSD:
>
>
> pcib10: requested I/O range 0x4020-0x403f: in range
> found-> vendor=0x103c, dev=0x3301, revid=0x01
> domain=0, bus=10, slot=0, func=5
> class=07-00-02, hdrtype=0x00, mfdev=1
> cmdreg=0x0147, statreg=0x0010, cachelnsz=16 (dwords)
> lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> intpin=a, irq=255
> powerspec 3 supports D0 D3 current D0
> MSI supports 1 message, 64 bit
> map[10]: type I/O Port, range 32, base 0x4000, size 3, enabled
> pcib10: requested I/O range 0x4000-0x4007: in range
> map[14]: type Memory, range 32, base 0xef88b000, size 8, enabled
> (much output)
> (much output)
> uart0: <Non-standard ns8250 class UART with FIFOs> port 0x2f8-0x2ff irq 3 on
acpi0
> (much output)
> pci10: <simple comms, UART> at device 0.5 (no driver attached)
>
> We think that the device found at pci10, device 0.5 is the same detected as
ttyS1 in Linux (the console that Linux uses). This vendor/device ids
correspond to HP ILO3 Serial port, as we found googling around.
>
> We tried to change the port being used for the console in uart_bus_probe to
0x4000 with the debugger and we got some output (a few characters), so that
makes us think that we are correct on trying to use this undetected console.
Tweaking devices.hint does not help the kernel detecting it. So our question
is: is there any kind of support from FreeBSD for this ILO serial console? If
not, is there anything we can do to add support for it? We (me) are not kernel
developers, so writting down a driver for it is not obvious at all for me.
>
> I adjoint the dmesg output from linux and the debug messages from FreeBSD
(with some extra debug messages we put there).
>
> Thanks you very much,
>
> Felip.
You might just need to patch uart_bus_pci.c to add that device ID. Once that
works you can use 'hw.uart.console="io:0x4000,br:9600"' in loader.conf to
use it as the kernel console (change 9600 to a different baud rate if needed)
--
John Baldwin
________________________________
Follow HOB:
- HOB: http://www.hob.de/redirect/hob.html
- Xing: http://www.hob.de/redirect/xing.html
- LinkedIn: http://www.hob.de/redirect/linkedin.html
- HOBLink Mobile: http://www.hob.de/redirect/hoblinkmobile.html
- Facebook: http://www.hob.de/redirect/facebook.html
- Twitter: http://www.hob.de/redirect/twitter.html
- YouTube: http://www.hob.de/redirect/youtube.html
- E-Mail: http://www.hob.de/redirect/mail.html
HOB RD VPN - einfach, sicher und flexibel auf alle Unternehmensanwendungen und -daten zugreifen
Praesentation unter: http://www.hob.de/rdvpn2/
HOB GmbH & Co. KG
Schwadermuehlstr. 3
D-90556 Cadolzburg
Geschaeftsfuehrung: Klaus Brandstaetter, Zoran Adamovic
AG Fuerth, HRA 5180
Steuer-Nr. 218/163/00107
USt-ID-Nr. DE 132747002
Komplementaerin HOB electronic Beteiligungs GmbH
AG Fuerth, HRB 3416
More information about the freebsd-ia64
mailing list