Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Mar 2009 16:00:08 GMT
From:      Gavin Atkinson <gavin@FreeBSD.org>
To:        freebsd-firewire@FreeBSD.org
Subject:   Re: kern/118093: [firewire] firewire bus reset hogs CPU, causing data to be lost
Message-ID:  <200903061600.n26G082b030204@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/118093; it has been noted by GNATS.

From: Gavin Atkinson <gavin@FreeBSD.org>
To: Dieter <freebsd@sopwith.solgatos.com>
Cc: bug-followup@FreeBSD.org, freebsd-bugs@FreeBSD.org,
        freebsd-firewire@FreeBSD.org
Subject: Re: kern/118093: [firewire] firewire bus reset hogs CPU, causing
	data to be lost
Date: Fri, 06 Mar 2009 15:53:43 +0000

 On Wed, 2009-03-04 at 21:37 +0000, Dieter wrote:
 > In message <200902022113.n12LDfEI059994@freefall.freebsd.org>, gavin@freebsd.org writes:
 > 
 > > This looks like it may be some bad
 > > interaction between the firewire stack and using a serial
 > > console.  To submitter: It may be worth while switching to
 > > uart(4) rather than sio(4) for your serial ports and seeing
 > > if that makes any difference (as I don't think uart(4) uses
 > > the Giant lock).
 > 
 > The box is running 7.1 now.  I commented out sio in the config file
 > and built a new kernel.
 > 
 > normal kernel:
 > 
 >  freebsd # dmesg | grep ^sio
 > sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
 > sio0: type 16550A, console
 > sio0: [FILTER]
 > sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
 > sio1: type 16550A
 > sio1: [FILTER]
 >  freebsd # dmesg | grep -i ^uart
 >  freebsd # dmesg | grep -i 1655 
 > sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
 > sio0: type 16550A, console
 > sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
 > sio1: type 16550A
 >  freebsd # dmesg | grep -i console
 > sio0: type 16550A, console
 > sc0: <System console> at flags 0x100 on isa0
 > sc0: VGA <16 virtual consoles, flags=0x100>
 >  freebsd # dmesg | grep -i giant
 > ohci0: [GIANT-LOCKED]
 > ehci0: [GIANT-LOCKED]
 > ohci1: [GIANT-LOCKED]
 > ohci2: [GIANT-LOCKED]
 > ehci1: [GIANT-LOCKED]
 > ppc0: [GIANT-LOCKED]
 > atkbd0: [GIANT-LOCKED]
 > 
 > With sio commented out:
 > 
 > OK boot kernel_uart
 > /boot/kernel_uart/kernel text=0x3f8090 data=0x5b678+0x38cc8 syms=[0x8+0x6ee08+0x
 > 8+0x609a9]
 > /
 > 
 > And nothing else appears on the console.
 > 
 > 
 >  freebsd # dmesg | grep -i ^sio
 >  freebsd # dmesg | grep -i ^uart
 > uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0
 > uart0: [FILTER]
 > uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
 > uart1: [FILTER]
 >  freebsd # dmesg | grep -i 1655
 > uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 on acpi0
 > uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
 >  freebsd # dmesg | grep -i console
 > sc0: <System console> at flags 0x100 on isa0
 > sc0: VGA <16 virtual consoles, flags=0x300>
 > 
 > echo hello >> /dev/console
 > doesn't show up.  Nothing shows up on console.
 > 
 > And looking at files in /var/log I found:
 > 
 > getty[789]: open /dev/ttyd0: No such file or directory
 > getty[790]: open /dev/ttyd1: No such file or directory
 > 
 > 
 > Looks to me like commenting out sio doesn't work so well on my box.
 > Is that the wrong way to switch from sio to uart?
 > Is there something else I need to change instead, or in addition?
 
 You'll also need to add the uart hints to your device.hints file, if you
 haven't already, and update /etc/ttys.
 
 hint.uart.0.at="isa"
 hint.uart.0.port="0x3F8"
 hint.uart.0.flags="0x10"
 hint.uart.0.irq="4"
 
 /etc/ttys: you may find you need to change "ttyd0" to "ttyu0".
 
 Gavin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903061600.n26G082b030204>