booting from CF
Kirill Yelizarov
ykirill at yahoo.com
Tue Nov 16 08:39:26 UTC 2010
Thanks for advices!
--- On Mon, 11/15/10, Freddie Cash <fjwcash at gmail.com> wrote:
> From: Freddie Cash <fjwcash at gmail.com>
> Subject: Re: booting from CF
> To: "FreeBSD Stable" <freebsd-stable at freebsd.org>
> Date: Monday, November 15, 2010, 6:32 PM
> On Mon, Nov 15, 2010 at 7:05 AM,
> Alexander Motin <mav at freebsd.org>
> wrote:
> > Kirill Yelizarov wrote:
> >> I have a problem with booting 8.1-stable from
> compact flash. This maybe some speed selection issue. I have
> two verbose dmesg of the same hardware: 7.2 stable and
> 8.1-stable. The main difference in 7.2 is such message:
> >> ad0: setting PIO4 on ICH5 chip
> >> ad0: FAILURE - SET_MULTI
> status=51<READY,DSC,ERROR> error=4<ABORTED>
> >> ad0: 3887MB <TRANSCEND 20081024> at
> ata0-master PIO4
> >> But 7.2 starts and run.
> >> And 8.1 stable when trying to mount root shows the
> following
> >> Trying to mount root from ufs:/dev/ad0p2
> >> ct_to_ts([2010-11-15 12:41:03]) =
> 1289824863.000000000
> >> start_init: trying /sbin/init
> >> Nov 15 15:41:03 init: /bin/sh on /etc/rc
> terminated abnormally, going to singlee
> >> Enter full pathname of shell or RETURN for
> /bin/sh:
> >> And then i can only switch if off using acpi or
> just power off.
> >>
> >> I know there were changes in ata. Maybe there are
> some tunings available to select PIO4 (most cf are using
> it)?
> >
> > In 8-STABLE there were added tunables
> hint.ata.X.devX.mode and
> > hint.ata.X.mode to set ATA mode during boot. Before
> that - only
> > hw.ata.ata_dma.
I tried to add hint.ata.0.mode="PIO4", hint.ata.0.ad0.mode="PIO4" and PIO1,UDMA0,UDMA1 to /boot/device.hints and /boot/loader.conf. I saw controller was switching from one mode to another but no success.
Here is the ata part from 8-stable dmesg:
/boot/kernel/kernel text=0x51a220 data=0x521d4+0x77b90 syms=[0x4+0x64940+0x4+0]\
Data TLB: 4 KB or 4 MB pages, fully associative, 64 entries
1st-level data cache: 16 KB, 8-way set associative, sectored cache, 64 byte line
pnpbios: Found PnP BIOS data at 0xc00f3e90
atapci0: <Intel ICH5 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x30
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xffa0
ata0: <ATA channel 0> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=50 stat1=00 devices=0x1
ata0: [MPSAFE]
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
ata1: reset tp1 mask=03 ostat0=00 ostat1=00
ata1: stat0=0x00 err=0x00 lsb=0x00 msb=0x00
ata1: stat1=0x00 err=0x00 lsb=0x00 msb=0x00
ata1: reset tp2 stat0=00 stat1=00 devices=0x0
ata1: [MPSAFE]
ata1: [ITHREAD]
atapci1: <Intel ICH5 SATA150 controller> port 0xec00-0xec07,0xe800-0xe803,0xe400
atapci1: Reserved 0x10 bytes for rid 0x20 type 4 at 0xdc00
atapci1: [MPSAFE]
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
atapci1: Reserved 0x8 bytes for rid 0x10 type 4 at 0xec00
atapci1: Reserved 0x4 bytes for rid 0x14 type 4 at 0xe800
ata2: reset tp1 mask=01 ostat0=80 ostat1=00
ata2: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata2: reset tp2 stat0=50 stat1=00 devices=0x1
ata2: [MPSAFE]
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
atapci1: Reserved 0x8 bytes for rid 0x18 type 4 at 0xe400
atapci1: Reserved 0x4 bytes for rid 0x1c type 4 at 0xe000
ata3: reset tp1 mask=01 ostat0=7f ostat1=00
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: reset tp2 stat0=ff stat1=00 devices=0x0
ata3: [MPSAFE]
ata3: [ITHREAD]
ata: ata0 already exists; skipping it
ata: ata1 already exists; skipping it
ata0: Identifying devices: 00000001
ata0: New devices: 00000001
ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA66 cable=80 wire
ad0: 3887MB <TRANSCEND 20090520> at ata0-master PIO4
ata1: Identifying devices: 00000000
ata1: New devices: 00000000
ata2: Identifying devices: 00000001
ata2: New devices: 00000001
ata2-master: pio=PIO4 wdma=WDMA2 udma=UDMA133 cable=40 wire
ad4: 305245MB <Seagate ST3320613AS CC2J> at ata2-master PIO4 SATA
ata3: Identifying devices: 00000000
ata3: New devices: 00000000
In 7.2 there is a line FAILURE - SET_MULTI status=51<READY,DSC,ERROR> error=4<ABORTED>
and there is no such line in 8. Can i switch off this mode somehow in 8?
Or is it already switched off? Also is it possible to tell the controller i have a 40 wires cable? This motherboard Intel S875WP1-E doesn't have a pin to detect what kind of cable is attached. But kernel is downloaded successfully and the problem occurs when running init. And 7.2 is running too.
> >
> >> P.S. I have two verbose dmesg but they are rather
> big. If needed i can post them hear.
> >
> > Verbose dmesg could be useful in many cases. Better
> upload it somewhere
> > else and post a link here.
>
> On our 7.3 and 8.1 boxes, I've had to disable DMA in the
> BIOS and via
> /boot/loader.conf in order to successfully boot off 2 GB
> and 4 GB
> CompactFlash cards, in CF-to-IDE and CF-to-SATA adapters.
>
I always set this for cf-to-pata controller and never for cf-to-sata
hw.ata.wc="0"
hw.ata.atapi_dma="0"
hw.ata.ata_dma_check_80pin="0"
hw.ata.ata_dma="0"
>
> --
> Freddie Cash
> fjwcash at gmail.com
> _______________________________________________
> freebsd-stable at freebsd.org
> mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>
More information about the freebsd-stable
mailing list