Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Problems with pci-bios recognizing ide device.: (1 Item)
   
Problems with pci-bios recognizing ide device.  
I have been investigating a problem with slow access times to a Compact Flash drive.  Our system uses a Vortex86DX 
processor with integral RDC IDE controller (vid 0x17f3, did 0x1011).  We are using QNX 6.5.0 base (not SP1).  This is a 
copy of the support request I sent to the board manufacturer, but I would like to pass it by this forum for ideas on how
 to get this working correctly.  The problem seems to be that the IDE driver is using PIO mode 4 instead of UDMA mode 2.


I have been investigation a problem with slow file system access times under QNX 6.5.0 on the CM-435.  We are using 
InnoDisk 4GB industrial compact flash cards as recommended and provided by Adlink.  The BIOS reports the following on 
the InnoDisk card:

* Device    :Hard 
* Vendor    :InnoDisk Corp. - iCF4000 4GB 
* Size      :4.1GB
* LBA Mode  :Supported
* Block Mode:2Sectors
* PIO Mode  :4
* Async DMA :MultiWord DMA-2 
* Ultra DMA :Ultra DMA-2
* S.M.A.R.T.:Supported

QNX starts with startup-bios, pci-bios, and devb-eide.  When running, the ‘pci -v’ command reports the following for 
the IDE device:

Class          = Mass Storage (IDE)
Vendor ID      = 17f3h, RDC Semiconductor, Inc.
Device ID      = 1011h, Unknown Unknown
PCI index      = 0h
Class Codes    = 01018ah
Revision ID    = 1h
Bus number     = 0
Device number  = 12
Function num   = 0
Status Reg     = 200h
Command Reg    = 5h
Header type    = 0h Single-function
BIST           = 0h Build-in-self-test not supported
Latency Timer  = 40h
Cache Line Size= 4h un-cacheable
BAR - 0 [I/O]  = 0h length 8 enabled
BAR - 1 [I/O]  = 0h length 4 enabled
BAR - 2 [I/O]  = 0h length 8 enabled
BAR - 3 [I/O]  = 0h length 4 enabled
BAR - 4 [I/O]  = fff0h length 16 enabled
Subsystem Vendor ID = 17f3h
Subsystem ID        = 1011h
Max Lat        = 0ns
Min Gnt        = 0ns
PCI Int Pin    = INT A
Interrupt line = 14
CPU Interrupt  = eh

The QNX system logger (slogger) is reporting the following from the devb-eide driver startup:

Jan 01 00:00:06    3    17     0 Range check failed (IO) - Dev 1011 - Vend 17f3 - Class 1018a - Addr 0 - Size 8
Jan 01 00:00:06    3    17     0 Range check failed (IO) - Dev 1011 - Vend 17f3 - Class 1018a - Addr 0 - Size 4
Jan 01 00:00:06    3    17     0 Range check failed (IO) - Dev 1011 - Vend 17f3 - Class 1018a - Addr 0 - Size 8
Jan 01 00:00:06    3    17     0 Range check failed (IO) - Dev 1011 - Vend 17f3 - Class 1018a - Addr 0 - Size 4
Jan 01 00:00:06    3    17     0 Range check failed (IO) - Dev 1011 - Vend 17f3 - Class 1018a - Addr fff0 - Size 10
Jan 01 00:00:06    2    17     0 scan_windows: Alloc failed fff1 - Size 10
Jan 01 00:00:06    2    19     0 devb-eide 1.00A (Jul  9 2010 13:54:17)
Jan 01 00:00:06    2     5     0 libcam.so (Jul  9 2010 13:53:08) bver 6040207
Jan 01 00:00:06    2    19     0 eide_identify_devices: Generic IDE vid 0x17f3, did 0x1011, class 0x1018a rev 1, busno 0
, dfunc 60
Jan 01 00:00:06    2    19     0 eide_identify_devices: cmd_addr 0x1f0, cntl_addr 0x3f4, irq 0xe, chnl 0, udma -1, mdma 
-1, sdma -1, pio 0
Jan 01 00:00:06    2    19     0 eide_identify_devices: probing dev 0 status 50, error 0
Jan 01 00:00:06    2    19     0 eide_identify_devices: probing dev 1 status 0, error 30
Jan 01 00:00:06    2    19     0 eide_display_identify: mdl InnoDisk Corp. - iCF4000 4GB sn 20141007AAF600000492 fw 
100511E  tid 0, cable 80, max udma 4, cur udma 0, max mdma 2, cur mdma 0, max sdma -1, cur sdma -1, pio 4, mblk 2

The first 6 errors appear to be from pci-bios.  The last error is from devb-eide and reports that it is accessing the 
drive in PIO Mode 4 instead of UDMA Mode 2.

For reference, here is what ‘pci –v’ reports for a Dell D800:

Class          = Mass Storage (IDE)
Vendor ID      = 8086h, Intel Corporation 
Device ID      = 24cah,  82801DBM (ICH4-M) IDE Controller
PCI index      = 0h
Class Codes    = 01018ah
Revision ID    = 1h
Bus number     = 0
Device number  = 31
Function num   = 1
Status...
View Full Message