Peter Stuge wrote:
On Thu, Jul 26, 2007 at 03:55:11PM -0400, Corey Osgood wrote:
find_ide_controller: found PCI IDE controller 1106:3149 prog_if=0x8f find_ide_controller: primary channel: native PCI mode find_ide_controller: cmd_base=0x2020 ctrl_base=0x2040 hda: LBA48 82GB: HDS728080PLA380
Bingo, here's an LBA48 82GB disk on hda.
device 0x3149 is the SATA controller, the 82GB drive is SATA. Magnus (and I) need IDE ;)
Doh! Sorry I didn't catch this.
On the bright side, adding reiserfs to filo and booting from SATA does at least half work, but the SuSE install on that drive was set up for an intel board, and didn't have the via sata modules in initrd (and I'm too lazy to fix it).
file_open: dev=hde, path=<NULL> find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1e8 ctrl_base=0x3ec Detected floating bus
The floating detection is rather stupid, it says floating if a couple of registers read back 0xff.
How is the device configured? cmd_base and ctrl_base are hard-coded in FILO when the device is in compatibility mode. The IO ports are only read from PCI config space for native PCI mode controllers.
Bingo, that explains it. The device defaults to different IO ports than FILO expects, the same IO ports that SATA defaults to. Oops.
When you set the IDE device to compat mode is it fixed to those ports or how does it work?
Also - can you try not setting the IDE device to compat mode but rather to native PCI mode - compat is for DOS anyway. ;)
Tried that as well, with no luck:
boot: hde1:/vmlinuz initrd=/initrd.gz root=/dev/hde1 console=tty0 console=ttyS0,115200 malloc_diag: alloc: 376 bytes (4 blocks), free: 65152 bytes (1 blocks) malloc_diag: alloc: 392 bytes (5 blocks), free: 65136 bytes (1 blocks) file_open: dev=hde1, path=/vmlinuz find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8f find_ide_controller: primary channel: native PCI mode find_ide_controller: cmd_base=0x0 ctrl_base=0x0 Detected floating bus No drive detected on IDE channel 2 devopen: failed to open ide malloc_diag: alloc: 376 bytes (4 blocks), free: 65152 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks)
Seems I still failed somewhere (and I did set the command and control ports). Looking further at the factory bios, I was wrong, the factory BIOS does use compatibility mode. There's also comments in the vt8235 code that lead me to believe that even if I did get native mode working, the performance is better with compatibility mode (this may have been fixed within linux though). I'm about to go through the fun of disabling the SATA device and see if I can get IDE working without having to worry about that conflict, and then try to get at least one mode working.
Thanks, Corey