NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-i386/44563: boot loader prompt doesn't read keyboard input on a MacBook1,1



>Number:         44563
>Category:       port-i386
>Synopsis:       boot loader prompt doesn't read keyboard input on a MacBook1,1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 13 22:35:00 +0000 2011
>Originator:     Taylor R Campbell <campbell+netbsd%mumble.net@localhost>
>Release:        NetBSD 5.1
>Organization:
>Environment:
NetBSD oberon.local 5.1 NetBSD 5.1 (GENERIC) #0: Sun Nov  7 14:39:56 UTC 2010  
builds%b6.netbsd.org@localhost:/home/builds/ab/netbsd-5-1-RELEASE/i386/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/i386/compile/GENERIC
 i386
Architecture: i386
Machine: i386
>Description:

        When I boot NetBSD on my MacBook1,1 (the only MacBook model
        with i386 rather than amd64), I can use the keyboard to select
        an entry in the boot menu, but the boot loader appears to read
        no subsequent keyboard input, if I drop to the boot loader
        prompt.  The cursor blinks at the prompt, but typing keys has
        no apparent effect.

        I have tried both the NetBSD 5.1 boot loader (revision 5.2) and
        some -current boot loader from a month or two ago (don't
        remember the revision number, and the relevant code doesn't
        seem to have changed much).

        Here is dmesg output for the machine:

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.1 (GENERIC) #0: Sun Nov  7 14:39:56 UTC 2010
        
builds%b6.netbsd.org@localhost:/home/builds/ab/netbsd-5-1-RELEASE/i386/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/i386/compile/GENERIC
total memory = 2016 MB
avail memory = 1969 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Apple Computer, Inc. MacBook1,1 (1.0)
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel 686-class, 1997MHz, id 0x6e8
cpu0: Enhanced SpeedStep (1004 mV) 1000 MHz
cpu0: Enhanced SpeedStep frequencies available (MHz): 2000 1833 1667 1500 1333 
1167 1000
cpu1 at mainbus0 apid 1: Intel 686-class, 1997MHz, id 0x6e8
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20080321
acpi0: X/RSDT: OemId <APPLE , Apple00,00000061>, AslId <    ,01000013>
acpiecdt0 at acpi0: ACPI Embedded Controller via ECDT
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
ACPI-Fast 24-bit timer
acpiacad0 at acpi0 (ADP1, ACPI0003): ACPI AC Adapter
acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
PNLF (APP0002) at acpi0 not configured
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
SMC (APP0001) at acpi0 not configured
SMS0 (APP0003) at acpi0 not configured
acpiec0 at acpi0 (EC, PNP0C09): using acpiecdt0
SBS0 (ACPI0002) at acpi0 not configured
TPM (IFX0101) at acpi0 not configured
FWHD (INT0800) at acpi0 not configured
npx1 at acpi0 (MATH, PNP0C04): io 0xf0 irq 13
npx1: reported by CPUID; using exception 16
attimer1 at acpi0 (TIMR, PNP0100): io 0x40-0x43,0x50-0x53
acpibat0 at acpi0 (BAT0, PNP0C0A-0): ACPI Battery (Control Method)
apm0 at acpi0: Power Management spec V1.2
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: vendor 0x8086 product 0x27a0 (rev. 0x03)
agp0 at pchb0: detected 16124k stolen memory
agp0: aperture at 0x80000000, size 0x10000000
vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
drm at vga1 not configured
vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 
2 function 1 not configured
vendor 0x8086 product 0x27a3 (Time and Frequency DASP, revision 0x03) at pci0 
dev 7 function 0 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 22
azalia0: host: 0x8086/0x27d8 (rev. 2), HDA rev. 1.0
ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC rev. A3 (0x2): ioapic0 pin 16
msk0 at mskc0 port A: Ethernet address ...
makphy0 at msk0 phy 0: Marvell 88E1111 Gigabit PHY, rev. 2
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 1: vendor 0x8086 product 0x27d2 (rev. 0x02)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
ath0 at pci2 dev 0 function 0
ath0: interrupting at ioapic0 pin 17
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 
36Mbps 48Mbps 54Mbps
ath0: mac 10.3 phy 6.1 radio 10.2
uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
uhci0: interrupting at ioapic0 pin 21
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
uhci1: interrupting at ioapic0 pin 19
usb1 at uhci1: USB revision 1.0
uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
uhci2: interrupting at ioapic0 pin 18
usb2 at uhci2: USB revision 1.0
uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
uhci3: interrupting at ioapic0 pin 16
usb3 at uhci3: USB revision 1.0
ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
ehci0: interrupting at ioapic0 pin 21
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
pci3 at ppb2 bus 3
pci3: i/o space, memory space enabled
fwohci0 at pci3 dev 3 function 0: vendor 0x11c1 product 0x5811 (rev. 0x61)
fwohci0: interrupting at ioapic0 pin 19
fwohci0: OHCI version 1.0 (ROM=0)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 ...
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
ichlpcib0 at pci0 dev 31 function 0
ichlpcib0: vendor 0x8086 product 0x27b9 (rev. 0x02)
timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
ichlpcib0: 24-bit timer
ichlpcib0: TCO (watchdog) timer configured.
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel interrupting at ioapic0 pin 15
atabus1 at piixide0 channel 1
piixide1 at pci0 dev 31 function 2
piixide1: Intel 82801GBM/GHM Serial ATA Controller (ICH7) (rev. 0x02)
piixide1: bus-master DMA support present
piixide1: primary channel configured to native-PCI mode
piixide1: using ioapic0 pin 19 for native-PCI interrupt
atabus2 at piixide1 channel 0
piixide1: secondary channel configured to native-PCI mode
atabus3 at piixide1 channel 1
ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19
iic0 at ichsmb0: I2C bus
isa0 at ichlpcib0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker (CPU-intensive output)
sysbeep0 at pcppi0
attimer1: attached to pcppi0
fwohci0: BUS reset
fwohci0: node_id=0xc000ffc0, gen=2, CYCLEMASTER mode
ieee1394if0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
ieee1394if0: bus manager 0 (me)
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 1997513760 Hz quality 3000
acpiacad0: AC adapter online.
azalia0: codec[0]: Sigmatel STAC9221 (rev. 52.1), HDA rev. 1.0
audio0 at azalia0: full duplex, playback, capture, independent
atapibus0 at atabus0: 2 targets
uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
cd0 at atapibus0 drive 0: <MATSHITADVD-R   UJ-857, , HBE4> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
cd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA)
wd0 at atabus2 drive 1: <WDC WD5000BEKT-00KA9T0>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd0: GPT GUID: ...
dk0 at wd0: swap
dk0: 4194304 blocks at 34, type: swap
dk1 at wd0: root
dk1: 972578797 blocks at 4194338, type: ffs
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(piixide1:0:1): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
ugen0 at uhub4 port 4
ugen0: vendor 0x05ac product 0x8300, rev 2.00/0.0c, addr 2
uhidev0 at uhub0 port 2 configuration 1 interface 0
uhidev0: Apple Computer Apple Internal Keyboard / Trackpad, rev 2.00/0.64, addr 
2, iclass 3/1
ukbd0 at uhidev0
wskbd0 at ukbd0: console keyboard, using wsdisplay0
uhidev1 at uhub0 port 2 configuration 1 interface 1
uhidev1: Apple Computer Apple Internal Keyboard / Trackpad, rev 2.00/0.64, addr 
2, iclass 3/1
uhidev1: 5 report ids
ums0 at uhidev1 reportid 2: 3 buttons
wsmouse0 at ums0 mux 0
uhid0 at uhidev1 reportid 5: input=63, output=0, feature=16
uhidev2 at uhub0 port 2 configuration 1 interface 2
uhidev2: Apple Computer Apple Internal Keyboard / Trackpad, rev 2.00/0.64, addr 
2, iclass 3/0
uhid1 at uhidev2: input=1, output=0, feature=0
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex, playback, capture
findroot: unable to read block 4194339
uhidev3 at uhub2 port 2 configuration 1 interface 0
uhidev3: Apple Computer, Inc. IR Receiver, rev 2.00/1.10, addr 2, iclass 3/0
uhidev3: 38 report ids
uhid2 at uhidev3 reportid 36: input=4, output=0, feature=0
uhid3 at uhidev3 reportid 37: input=4, output=0, feature=0
uhid4 at uhidev3 reportid 38: input=4, output=0, feature=0
boot device: dk1 (wd0)
root on dk1 dumps on dk0
root file system type: ffs
uhidev4 at uhub3 port 1 configuration 1 interface 0
uhidev4: vendor 0x05ac product 0x1000, rev 2.00/19.65, addr 2, iclass 3/1
ukbd1 at uhidev4
wskbd1 at ukbd1 mux 1
wskbd1: connecting to wsdisplay0
uhidev5 at uhub3 port 1 configuration 1 interface 1
uhidev5: vendor 0x05ac product 0x1000, rev 2.00/19.65, addr 2, iclass 3/1
ums1 at uhidev5: 5 buttons
wsmouse1 at ums1 mux 0
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

>How-To-Repeat:

        Run the NetBSD boot loader on a MacBook1,1 (e.g., from the
        install CD).  Request the boot loader prompt, rather than
        choosing an option that will boot with no further keyboard
        input.  Attempt keyboard input.  See no response from the
        MacBook.

>Fix:

        Yes, please!

        I tried adapting getchar in pcio.c to wait POLL_FREQ intervals
        in a loop until iskey(0) returns true before calling consgetc,
        but that didn't help.



Home | Main Index | Thread Index | Old Index