Date: Sun, 24 Jul 2011 15:35:37 -0500 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: Paul Mather <paul@gromit.dlib.vt.edu> Cc: freebsd-ppc@freebsd.org Subject: Re: "sysctl -a" hangs multiuser boot Message-ID: <4E2C8219.6060907@freebsd.org> In-Reply-To: <76CAEDC6-A527-4AEA-9CE8-1ED9B65CACB8@gromit.dlib.vt.edu> References: <76CAEDC6-A527-4AEA-9CE8-1ED9B65CACB8@gromit.dlib.vt.edu>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
On 07/19/11 11:19, Paul Mather wrote:
> I'm having problems with a kernel built today from a csup done today. I'm using an Xserve G5 running FreeBSD/powerpc64 9-CURRENT. The system will not boot up multiuser: it hangs at "Entropy harvesting: interrupts ethernet point_to_point" and gets no further. I can't Ctrl-C to get the boot past that point.
>
> It appears it is the "sysctl -a" in the entropy kickstart portion of /etc/rc.d/initrandom that is causing the problem.
>
> If I do "sysctl -a" manually it will produce output so far and then no further. Here are the last few lines before it stops outputting anything more:
>
> [[...]]
> hw.usb.ugen.debug: 0
> hw.usb.power_timeout: 30
> hw.usb.uhub.debug: 0
> hw.usb.no_pf: 0
> hw.usb.proc.debug: 0
> hw.usb.pr_recovery_delay: 250
> hw.usb.pr_poll_delay: 50
> hw.usb.uhid.debug: 0
> hw.usb.ukbd.no_leds: 0
> hw.usb.ukbd.debug: 0
> hw.usb.ums.debug: 0
>
>
>
> The system doesn't hang, but console input ceases to work and I can't SSH into the system any more. I can still ping the machine, but ping times vary wildly, e.g.,
>
> 27 packets transmitted, 26 packets received, 3.7% packet loss
> round-trip min/avg/max/stddev = 57.076/708.818/1395.450/280.318 ms
>
> Those ping times are way higher than normal. Here is an example of pinging the machine when it is not under the influence of doing a "sysctl -a":
>
> 23 packets transmitted, 23 packets received, 0.0% packet loss
> round-trip min/avg/max/stddev = 0.421/0.591/0.758/0.096 ms
>
>
> Also, at occasional intervals, this will be output on the console after having done a "sysctl -a":
>
> max66900: iicbus read failed
>
>
Could you please try the attached patch?
-Nathan
[-- Attachment #2 --]
Index: powerpc/powermac/fcu.c
===================================================================
--- powerpc/powermac/fcu.c (revision 224288)
+++ powerpc/powermac/fcu.c (working copy)
@@ -282,14 +282,14 @@
fan->setpoint = rpm;
} else {
device_printf(fan->dev, "Unknown fan type: %d\n", fan->type);
- return (-1);
+ return (ENXIO);
}
buf[0] = rpm >> (8 - fcu_rpm_shift);
buf[1] = rpm << fcu_rpm_shift;
if (fcu_write(sc->sc_dev, sc->sc_addr, reg, buf, 2) < 0)
- return (-1);
+ return (EIO);
return (0);
}
@@ -377,7 +377,7 @@
buf[0] = (pwm * 2550) / 1000;
if (fcu_write(sc->sc_dev, sc->sc_addr, reg, buf, 1) < 0)
- return (-1);
+ return (EIO);
return (0);
}
@@ -536,12 +536,12 @@
if (fan->type == FCU_FAN_RPM) {
rpm = fcu_fan_get_rpm(fan);
if (rpm < 0)
- return (-1);
+ return (EIO);
error = sysctl_handle_int(oidp, &rpm, 0, req);
} else {
error = fcu_fan_get_pwm(fcu, fan, &pwm, &rpm);
if (error < 0)
- return (-1);
+ return (EIO);
switch (arg2 & 0xff00) {
case FCU_PWM_SYSCTL_PWM:
@@ -552,7 +552,7 @@
break;
default:
/* This should never happen */
- error = -1;
+ return (EINVAL);
};
}
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E2C8219.6060907>
