Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Nov 2010 00:39:24 -0800 (PST)
From:      Kirill Yelizarov <ykirill@yahoo.com>
To:        freebsd-stable@freebsd.org
Subject:   Re: booting from CF
Message-ID:  <264944.51233.qm@web120514.mail.ne1.yahoo.com>
In-Reply-To: <AANLkTik2GCEYWiWLA6StqU-h7FXs%2B%2BdfpT6q3MX%2BFDbt@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for advices! 

--- On Mon, 11/15/10, Freddie Cash <fjwcash@gmail.com> wrote:

> From: Freddie Cash <fjwcash@gmail.com>
> Subject: Re: booting from CF
> To: "FreeBSD Stable" <freebsd-stable@freebsd.org>
> Date: Monday, November 15, 2010, 6:32 PM
> On Mon, Nov 15, 2010 at 7:05 AM,
> Alexander Motin <mav@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@gmail.com
> _______________________________________________
> freebsd-stable@freebsd.org
> mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
> 


      



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?264944.51233.qm>