No subject


Sun Dec 9 17:34:17 CET 2012


to work. More below. USB and PS/2 are quite different code paths in
the kernel, until one of them is working there is surely some generic
problem, quite possibly in LB.


> I changed some code, it still doesn't work. Maybe I miss something.
> In Linux, kudzu can do some hardware detect, but don't work in this
> case.

Can you get more details from kudzu about why it fails? Perhaps by
running it manually after the system has booted? Perhaps by looking
in the syslog files? I don't know much about RedHat so I can't give
much advice on kudzu. (On the other hand, kudzu itself is not very
important, having the hardware work is important, and then kudzu will
be happy too.)


> The attached is a log, maybe you can help me find some clue. Thank
> you.

Great - see some comments below.


> We just want to gain some BIOS experience, so the LinuxBIOS
> version is very old.

This can be both good and bad. If you started from a known working LB
version then there's no big problem, but if a lot of changes and
bugfixes have gone into LB since the version you are using, it could
be worthwhile to try also a new version.


Comments on the log:

> PCI: pci_scan_bus for bus 00
> PCI: 00:01.0 [1166/0036] enabled

HT1000 PCI/PCI-X bridge


> PCI: 00:02.0 [1166/0205] enabled

HT1000 Legacy South Bridge


> PCI: 00:02.1 [1166/0214] enabled

HT1000 Legacy IDE controller


> PCI: 00:02.2 [1166/0234] enabled

HT1000 LPC Bridge


> PCI: 00:02.3 [1166/0238] enabled
> PCI: 00:02.4 [1166/0235] enabled
> PCI: 00:02.5 [1166/0235] enabled
> PCI: 00:02.6 [1166/0235] enabled

Not in my pci.ids.


> PCI: 00:03.0 [1166/0223] enabled
> PCI: 00:03.1 [1166/0223] enabled
> PCI: 00:03.2 [1166/0223] enabled

3x HT1000 USB Controller


> PCI: 00:04.0 [8086/1229] enabled

82557/8/9 [Ethernet Pro 100]


[..]


> Reading resources...
[..]

> PCI: 00:01.0 24 <- [0xfffffffffff00000 - 0xffffffffffefffff] bus 01 prefmem

[..]

> PCI: 00:00.0 missing read_resources
> PCI: 00:01.0 missing read_resources
> PCI: 00:02.0 missing read_resources
> PCI: 00:03.0 missing read_resources
> PCI: 00:04.0 missing read_resources
> PCI: 00:05.0 missing read_resources
> PCI: 00:00.0 missing read_resources
> PCI: 00:01.0 missing read_resources
> PCI: 00:01.1 missing read_resources
> PCI: 00:01.2 missing read_resources
> PCI: 00:01.3 missing read_resources
> PCI: 00:01.4 missing read_resources
> PCI: 00:01.5 missing read_resources
> PCI: 00:01.6 missing read_resources
> PCI: 00:02.0 missing read_resources
> PCI: 00:02.1 missing read_resources
> PCI: 00:02.2 missing read_resources
> PCI: 00:03.0 missing read_resources
> PCI: 00:00.0 missing read_resources
> PCI: 00:01.0 missing read_resources
> PCI: 00:02.0 missing read_resources
> PCI: 00:03.0 missing read_resources
> PCI: 00:04.0 missing read_resources
> PCI: 00:05.0 missing read_resources
> PCI: 00:00.0 missing read_resources
> PCI: 00:01.0 missing read_resources
> PCI: 00:01.1 missing read_resources
> PCI: 00:01.2 missing read_resources
> PCI: 00:01.3 missing read_resources
> PCI: 00:01.4 missing read_resources
> PCI: 00:01.5 missing read_resources
> PCI: 00:01.6 missing read_resources
> PCI: 00:02.0 missing read_resources
> PCI: 00:02.1 missing read_resources
> PCI: 00:02.2 missing read_resources
> PCI: 00:03.0 missing read_resources
> PCI: 00:00.0 missing read_resources
> PCI: 00:01.0 missing read_resources
> PCI: 00:02.0 missing read_resources
> PCI: 00:03.0 missing read_resources
> PCI: 00:04.0 missing read_resources
> PCI: 00:05.0 missing read_resources
> PCI: 00:00.0 missing read_resources
> PCI: 00:01.0 missing read_resources
> PCI: 00:01.1 missing read_resources
> PCI: 00:01.2 missing read_resources
> PCI: 00:01.3 missing read_resources
> PCI: 00:01.4 missing read_resources
> PCI: 00:01.5 missing read_resources
> PCI: 00:01.6 missing read_resources
> PCI: 00:02.0 missing read_resources
> PCI: 00:02.1 missing read_resources
> PCI: 00:02.2 missing read_resources
> PCI: 00:03.0 missing read_resources
> Done reading resources.

[..]

> Setting resources...

[..]

> PCI: 00:00.0 missing read_resources
> PCI: 00:01.0 missing read_resources
> PCI: 00:02.0 missing read_resources
> PCI: 00:03.0 missing read_resources
> PCI: 00:04.0 missing read_resources
> PCI: 00:05.0 missing read_resources
[..]

Does this matter, anyone? If there's no read_resources() op (or even
no dev->ops) there's no fallback to generic routines in the code -
are the devices likely to work anyway?


[..]

> PCI: 00:02.0 90 <- [0x0000003040 - 0x000000304f] io
> PCI: 00:02.1 10 <- [0x0000003060 - 0x0000003067] io
> PCI: 00:02.1 14 <- [0x0000003080 - 0x0000003083] io
> PCI: 00:02.1 18 <- [0x0000003070 - 0x0000003077] io
> PCI: 00:02.1 1c <- [0x0000003090 - 0x0000003093] io
> PCI: 00:02.1 20 <- [0x0000003050 - 0x000000305f] io
> PCI: 00:02.1 64 <- [0x00000030a0 - 0x00000030a3] io
> PCI: 00:02.3 10 <- [0x00fc250000 - 0x00fc250fff] mem
> PCI: 00:02.4 10 <- [0x00fc251000 - 0x00fc251fff] mem
> PCI: 00:02.5 10 <- [0x00fc252000 - 0x00fc252fff] mem
> PCI: 00:02.6 10 <- [0x00fc253000 - 0x00fc253fff] mem

Some resources are being assigned either way..

[..]

> Done setting resources.
> Done allocating resources.
> Enabling resources...

[..]

> PCI: 00:01.0 bridge ctrl <- 0003
> PCI: 00:01.0 cmd <- 147

[..]

> PCI: 00:02.0 cmd <- 147
> PCI: 00:02.1 cmd <- 141
> PCI: 00:02.2 cmd <- 144
> PCI: 00:02.3 cmd <- 146
> PCI: 00:02.4 cmd <- 146
> PCI: 00:02.5 cmd <- 146
> PCI: 00:02.6 cmd <- 146
> PCI: 00:03.0 cmd <- 143
> PCI: 00:03.1 cmd <- 143
> PCI: 00:03.2 cmd <- 143
> PCI: 00:04.0 cmd <- 143
[..]

And some command seems to be sent, but..


> PCI: 00:00.0 missing enable_resources
> PCI: 00:01.0 missing enable_resources
> PCI: 00:02.0 missing enable_resources
> PCI: 00:03.0 missing enable_resources
> PCI: 00:04.0 missing enable_resources
> PCI: 00:05.0 missing enable_resources
> PCI: 00:00.0 missing enable_resources
> PCI: 00:01.0 missing enable_resources
> PCI: 00:01.1 missing enable_resources
> PCI: 00:01.2 missing enable_resources
> PCI: 00:01.3 missing enable_resources
> PCI: 00:01.4 missing enable_resources
> PCI: 00:01.5 missing enable_resources
> PCI: 00:01.6 missing enable_resources
> PCI: 00:02.0 missing enable_resources
> PCI: 00:02.1 missing enable_resources
> PCI: 00:02.2 missing enable_resources
> PCI: 00:03.0 missing enable_resources

Here we go again about missing *_resources op or even dev->ops.

Is it just that none is needed for HT1000 or can this be the cause of
the problems?


> NB: Function 3 Misc Control.. done.
> PCI: 00:02.0 init
> PCI: 00:02.1 init
> PCI: 00:02.2 init
> RTC Init
> Invalid CMOS LB checksum
> PCI: 00:02.3 init
> PCI: 00:02.4 init
> PCI: 00:02.5 init
> PCI: 00:02.6 init
> PCI: 00:03.0 init
> PCI: 00:03.1 init
> PCI: 00:03.2 init
> PCI: 00:04.0 init

[..]

> Devices initialized


So most of the devices are initialized, but that may not mean much.



> FILO version 0.5 (fengl at localhost.localdomain) Sat Jul  7 02:41:14 CST 2007
> menu: hda1:/grub/grub.conf

What about FILO - have you tried using a PS/2 keyboard there?
(Compile FILO with a timeout for the boot prompt.) Until that works,
there is not much reason to boot Linux. (Quicker cycles)

[..]


> Linux version 2.6.9-22.ELsmp (bhcompile at crowe.devel.redhat.com)
> (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19
> 18:00:54 EDT 2005

This kernel is almost two years old, you are ignoring the last 1/5
part of the lifetime of the Linux project.

I would strongly suggest building a recent kernel.org version of
Linux (2.6.21.6 or 2.6.22.1) without modules and making sure it is
configured according to the hardware you're working with. If you want
the list to review your configuration, please feel free to send the
.config created by make menuconfig. (or make xconfig or make qconfig)


[..]

> usbcore: registered new driver hiddev
> usbcore: registered new driver usbhid
> drivers/usb/input/hid-core.c: v2.0:USB HID core driver
> mice: PS/2 mouse device common for all mice

No USB host controllers are found by Linux so it is impossible for a
USB keyboard to work. The HID driver is loaded but it only depends on
the USB core. Maybe the host controller drivers aren't enabled in
this kernel, maybe the PCI devices don't respond properly (LB's
fault) or maybe there are bugs in the HCI drivers. Too many unknowns.


There are at least two interesting things you could try:

1. Investigate the {read,enable}_resources messages from LB for
HT1000 and fix the problem if there is in fact a problem. Best case
this makes everything work. A good first test is if a PS/2 keyboard
works in FILO.

2. Upgrade to the latest kernel, correctly configured for the system,
and see what works/does not work. Perhaps that can give clues about
what is wrong in LB. (if there is something more than 1)

(Could be useful to try 2 before 1 as well.)


//Peter




More information about the coreboot mailing list