Re: New kernel no longer boots on one of my machines... ata, other problems

2000-01-09 Thread Hans Ottevangerne_anchors

Matthew Dillon wrote:
 
 Well guys, I tried upgrading one of my older machines today to the
 latest 4.0.  It was running an older 4.0 kernel (Nov 29 1999).
 

[ Detailed description deleted ]

 HELP!  Whats happening!!! :-( :-( :-(
 
 At the moment I am stymied.  I switched to a GENERIC kernel and got the
 same results, so it isn't anything weird that I have done in my own
 kernel config.
 
 I was hoping that someone would have an idea.
 
 -Matt

Hi folks,

As already reported yesterday, I have similar problems, and I have been
doing some experiments today with my ancient Pentium 66. With 4.0
CURRENT as of yesterday, it seem to hang while booting, when configured
to use the new ATA driver. When using the old WD driver, there is no
such problem. 

The system has 64 MB RAM, two Western Digital harddisks of 1.6 GB and
3.1 GB respectively, 8x Toshiba CDROM, Matrox Millenium II graphics
card, and a 3Com 905B NIC.

As Matt did, I switched to a GENERIC kernel, and I booted with the
options -s and -v. The system seems to hang after the message: 

  Mounting root from ufs:wd0s1a

However, if I hit RETURN, followed by CTL-ALT-ESC, I actually end up in
the single user mode shell. I even can run commands, I only must type
CTL-ALT-ESC to see the output. And indeed, the clock is not running. By
mounting /var, I captured the output of dmesg in a file. And it shows at
least one strange thing:

  ata-pci0: Unknown PCI ATA controller (generic mode) at device 1.0 on
pci0
  ata-pci0: Busmastering DMA not supported
  ata0: iobase=0x01f0 altiobase=0x03f4 bmaddr=0x
  ata0: mask=03 status0=50 status1=50
  ata0: mask=03 status0=50 status1=50
  ata0: devices = 0x3
  ata0 at 0x01f0 irq 0 on ata-pci0
^^^

I.e. ata0 takes the irq that is normally reserved for the timer. And
somewhat later in the boot process we see:

  Device configuration finished.
  device combination doesn't support shared irq0
  intr_connect(irq0) failed, result=-1 

So indeed the timer is not able to interrupt, which explains the strange
phenomena.
The secondary EIDE interface, which is on the ISA bus in this system, is
recognized correctly:

  ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0x
  ata1: mask=01 status0=00 status1=ff
  ata1: mask=01 status0=00 status1=
  ata1: devices = 0x4
  ata1 at port 0x170 irq 15 on isa0


As a quick fix, to get rid of the problem for now, I forced the irq of
ata0 to 14 in the source. I added the line 

  irq1 = 14;

after line 293 in /sys/dev/ata/ata-all.c (1.39)

After compiling the kernel, the system reboots and runs without any
problems, using the ATA drivers.

Apparently, something is going wrong when reading the PCI configuration
on these old systems. It certainly justifies some investigation.

Kind regards,

Hans


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: New kernel no longer boots on one of my machines... ata, other problems

2000-01-09 Thread Hans Ottevangerne_anchors

Hi,

Before people start wondering about my name being mangled in the From:
field of my previous message: Sorry, it happens regularly when cutting
and pasting into the mailer of the Netscape Communicator 4.7. Maybe I
have to switch to another mailtool...

Cheers,

Hans


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: New kernel no longer boots on one of my machines... ata, other problems

2000-01-09 Thread Greg Childers

Yes!  That is exactly the problem I have been having since the 1999/10/09 12:57:15 PDT 
ATA commit.  Here is the link to the email I sent earlier:

http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=1326170+1331912+/usr/local/www/db/text/1999/freebsd-current/19991212.freebsd-current

Basically, on my Pentium 66 system, I'm seeing the same problems followed by the 
message

microuptime() went backwards (1.4342530 - 1,047990)

Thanks for investigating this!

Greg 

At 08:22 PM 1/9/00 +0100, Hans Ottevangerne_anchors wrote:
As already reported yesterday, I have similar problems, and I have been
doing some experiments today with my ancient Pentium 66. With 4.0
CURRENT as of yesterday, it seem to hang while booting, when configured
to use the new ATA driver. When using the old WD driver, there is no
such problem. 

The system has 64 MB RAM, two Western Digital harddisks of 1.6 GB and
3.1 GB respectively, 8x Toshiba CDROM, Matrox Millenium II graphics
card, and a 3Com 905B NIC.

As Matt did, I switched to a GENERIC kernel, and I booted with the
options -s and -v. The system seems to hang after the message: 

   Mounting root from ufs:wd0s1a

However, if I hit RETURN, followed by CTL-ALT-ESC, I actually end up in
the single user mode shell. I even can run commands, I only must type
CTL-ALT-ESC to see the output. And indeed, the clock is not running. By
mounting /var, I captured the output of dmesg in a file. And it shows at
least one strange thing:

   ata-pci0: Unknown PCI ATA controller (generic mode) at device 1.0 on
pci0
   ata-pci0: Busmastering DMA not supported
   ata0: iobase=0x01f0 altiobase=0x03f4 bmaddr=0x
   ata0: mask=03 status0=50 status1=50
   ata0: mask=03 status0=50 status1=50
   ata0: devices = 0x3
   ata0 at 0x01f0 irq 0 on ata-pci0
 ^^^

I.e. ata0 takes the irq that is normally reserved for the timer. And
somewhat later in the boot process we see:

   Device configuration finished.
   device combination doesn't support shared irq0
   intr_connect(irq0) failed, result=-1 

So indeed the timer is not able to interrupt, which explains the strange
phenomena.
The secondary EIDE interface, which is on the ISA bus in this system, is
recognized correctly:

   ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0x
   ata1: mask=01 status0=00 status1=ff
   ata1: mask=01 status0=00 status1=
   ata1: devices = 0x4
   ata1 at port 0x170 irq 15 on isa0


As a quick fix, to get rid of the problem for now, I forced the irq of
ata0 to 14 in the source. I added the line 

   irq1 = 14;

after line 293 in /sys/dev/ata/ata-all.c (1.39)

After compiling the kernel, the system reboots and runs without any
problems, using the ATA drivers.

Apparently, something is going wrong when reading the PCI configuration
on these old systems. It certainly justifies some investigation.

Kind regards,

Hans


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: New kernel no longer boots on one of my machines... ata, other problems

2000-01-07 Thread Doug Ambrisko

Matthew Dillon writes:
| Well guys, I tried upgrading one of my older machines today to the 
| latest 4.0.  It was running an older 4.0 kernel (Nov 29 1999).

I ran into a similar problem when upgrading my server at home.  It is an
old 486 with an Intel Saturn chipset.  I found the IDE drive via
ad0 and failed the mount with error 6 or whatever.  I then put the same
drive in a machine with a P5  Intel TX chipset.  In this setup ad0
was found and it mounted the rootfs with no trouble.  Since this is 
a machine that needs to be up I switched to the wd driver which worked
like charm except for re-enabling it.

So in my configuration it is not a MAKDEV/fstab stale issue (I rebuild
all of that) and it works with a PCI driver but not with the Saturn ISA
driver.

My successful boot and probe is:
  wdc0 at port 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa0
  wdc0: unit 0 (wd0): IBM-DTTA-351350, multi-block-16
  wd0: 12897MB (26414640 sectors), 26205 cyls, 16 heads, 63 S/T, 512 B/S

Now I recall in discussions about pcmcia stuff and the various patches
flying around that there was a 32/16 bit access mode issue.  Also I think
while the pcmcia was in 32 bit mode hard disk access stopped working
and maybe flash (since my external IDE hard drive work then it didn't
then it did again).  I think this correlated to when it was switched 
to 16 bit then it started working again.

Anyways more work and lots of testing needs to be done.  Even though I like 
the new ata stuff and use it on all machines (except for one) this is scary 
since a bunch of 4.0 users could get screwed with older good hardware.

Tonight I will try to define 
ATA_16BIT_ONLY
in my kernel and try to boot with ata.  This may have to be set in GENERIC 
for installs to work ... or the ata driver learn how to figure this out
automatically on the fly.

BTW this almost hosed me.

Doug A.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: New kernel no longer boots on one of my machines... ata, other problems

2000-01-07 Thread Hans Ottevanger

Matthew Dillon wrote:
 
 Well guys, I tried upgrading one of my older machines today to the
 latest 4.0.  It was running an older 4.0 kernel (Nov 29 1999).
 
..
 HELP!  Whats happening!!! :-( :-( :-(
 
 At the moment I am stymied.  I switched to a GENERIC kernel and got the
 same results, so it isn't anything weird that I have done in my own
 kernel config.
 
 I was hoping that someone would have an idea.
 
 -Matt

I also have one of those old Pentiums, with an Intel motherboard and a
Mercury chipset. And I have similar problems with CURRENT of a few days
ago. When I configure my kernel to use the new ata driver, it hangs when
booting. I plan to reproduce this problem this weekend, with a more
recent CURRENT.

I think the problem is caused by the RZ1000 EIDE controller on this type
of motherboard. I suspect that the new ata driver deals with interrupts
in ways somewhat different from the old wd driver. According to the
Intel documentation, interrupts during data transfers may cause data
corruption. This RZ1000 issue has been discussed on this list a few
weeks ago, without a real solution.

Kind regards,

Hans


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



New kernel no longer boots on one of my machines... ata, other problems

2000-01-06 Thread Matthew Dillon

Well guys, I tried upgrading one of my older machines today to the 
latest 4.0.  It was running an older 4.0 kernel (Nov 29 1999).

I've included the dmesg output from the (successfully booting) older 
kernel at the end.

The newer kernel locks up in several ways:

* First, it locks up with process 0 stuck in 'atawait' while 
  trying to scan the CDRom on the second IDE bus.  This is after
  it has successfully scanned the hard drive on the first IDE bus. 

* Second, if I remove the 'ata1' config entry it gets past the
  initial ata probe but then locks up in 'conifhk' which is in 
  the run_interrupt_driven_config_hooks() procedure
  in kern/subr_autoconf.c

  It locks up here after printing 'waiting 15 seconds for SCSI devices
  to settle'.  Several minutes later it's still waiting :-(.

* If I remove the second ata device AND I remove the SCSI devices
  and controllers so it detects no SCSI devices, it gets all the
  way to where it says "Mounting root on wd0s4a", then gets an error 6,
  then says "Mounting root on wd0a", then just stops.  Breaking into
  DDB and doing a ps shows 'init' and 'sh' both blocked in 'wait'.
  The hard drive appears to work -- panic does sync the disks.

* The second time I did this when I CTL-ALT-ESC'd into DDB I suddenly
  got a whole bunch of console startup output.  I 'cont'd from DDB,
  and nothing... CTL-ALT-ESC'd into DDB and got some more console
  output from the normal startup sequence before it gave me the DDB
  prompt.  'cont'd. nothing.

  I got it to the point where ping works but nothing else does.


HELP!  Whats happening!!! :-( :-( :-(

At the moment I am stymied.  I switched to a GENERIC kernel and got the
same results, so it isn't anything weird that I have done in my own 
kernel config.

I was hoping that someone would have an idea. 

-Matt

Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #1: Mon Nov 29 22:10:35 PST 1999
[EMAIL PROTECTED]:/FreeBSD/FreeBSD-4.x/src/sys/compile/ARCHIVE
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 66751430 Hz
CPU: Pentium/P54C (66.75-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x524  Stepping = 4
  Features=0x1bfFPU,VME,DE,PSE,TSC,MSR,MCE,CX8
real memory  = 67108864 (65536K bytes)
avail memory = 61698048 (60252K bytes)
Preloaded elf kernel "kernel.bak" at 0xc0335000.
npx0: math processor on motherboard
npx0: INT 16 interface
pcib0: Host to PCI bridge on motherboard
pci0: PCI bus on pcib0
ign0 at device 1.0 on pci0
isab0: Intel 82378ZB PCI to ISA bridge at device 2.0 on pci0
isa0: ISA bus on isab0
vga-pci0: S3 Trio 64 graphics accelerator irq 10 at device 6.0 on pci0
xl0: 3Com 3c905B-TX Fast Etherlink XL irq 9 at device 12.0 on pci0
xl0: Ethernet address: 00:10:5a:e0:82:29
miibus0: MII bus on xl0
xlphy0: 3Com internal media interface on miibus0
xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ncr0: ncr 53c810 fast10 scsi irq 11 at device 14.0 on pci0
devclass_alloc_unit: npx0 already exists, using next available unit number
fdc0: NEC 72065B or clone at port 0x3f0-0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1440-KB 3.5" drive on fdc0 drive 0
wdc0 at port 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa0
wdc0: unit 0 (wd0): Maxtor 91360D8, 32-bit, multi-block-16
wd0: 12970MB (26563824 sectors), 26353 cyls, 16 heads, 63 S/T, 512 B/S
wdc1 at port 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa0
wdc1: unit 0 (atapi): Pioneer CD-ROM ATAPI Model DR-A12X  0100/E1.00A, removable, 
ovlap, dma, iordis
wcd0: drive speed 2066KB/sec, 128KB cache
wcd0: supported read types: CD-R, CD-DA, packet track
wcd0: Audio: play, 256 volume levels
wcd0: Mechanism: ejectable tray
wcd0: Medium: no/blank disc inside, unlocked
atkbdc0: keyboard controller (i8042) at port 0x60-0x6f on isa0
vga0: Generic ISA VGA at port 0x3b0-0x3df iomem 0xa-0xb on isa0
sc0: System console on isa0
sc0: VGA 16 virtual consoles, flags=0x200
sio0 at port 0x3f8-0x3ff irq 4 on isa0
sio0: type 16550A
ppc0 at port 0x378-0x37f irq 7 flags 0x40 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
lpt0: generic printer on ppbus 0
lpt0: Interrupt-driven port
IP packet filtering initialized, divert enabled, rule-based forwarding disabled, 
default to accept, unlimited logging
Waiting 5 seconds for SCSI devices to settle
Mounting root from ufs:wd0s4a
Root mount failed: 6
Mounting root from ufs:wd0a
link_elf: symbol splash_register undefined
cd0 at ncr0 bus 0 target 3 lun 0
cd0: YAMAHA CRW6416S 1.0b Removable CD-ROM SCSI-2 device 
cd0: 10.000MB/s transfers (10.000MHz, offset 8)
cd0: Attempt to query device 

Re: New kernel no longer boots on one of my machines... ata, other problems

2000-01-06 Thread Matthew Dillon

:   * First, it locks up with process 0 stuck in 'atawait' while 


I meant 'atacmd' here.

-Matt


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: New kernel no longer boots on one of my machines... ata, other problems

2000-01-06 Thread Matthew Dillon


:
::  * First, it locks up with process 0 stuck in 'atawait' while 
:   
:
:   I meant 'atacmd' here.
:
:   -Matt

From what I can tell so far, something during the kernel boot is
disabling the timer interrupt.  The ATA probe does a tsleep() which
never times out.  Output is queued to the console during the boot
sequence which is never printed (until I CTL-ALT-ESC)... 

has someone messed with spl*()'s anywhere recently?

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message